aboutsummaryrefslogtreecommitdiff
path: root/clib/cThread.ml
diff options
context:
space:
mode:
Diffstat (limited to 'clib/cThread.ml')
-rw-r--r--clib/cThread.ml3
1 files changed, 3 insertions, 0 deletions
diff --git a/clib/cThread.ml b/clib/cThread.ml
index c50768b88d..9e0319e8f8 100644
--- a/clib/cThread.ml
+++ b/clib/cThread.ml
@@ -97,6 +97,9 @@ let thread_friendly_input_value ic =
end
with Unix.Unix_error _ | Sys_error _ -> raise End_of_file
+(* On the ocaml runtime used in some opam-for-windows version the
+ * [Thread.sigmask] API raises Invalid_argument "not implemented",
+ * hence we protect the call and turn the exception into a no-op *)
let protect_sigalrm f x =
begin try ignore(Thread.sigmask Unix.SIG_BLOCK [Sys.sigalrm])
with Invalid_argument _ -> () end;