diff --git a/src/libraries/stdlib/extlib.ml b/src/libraries/stdlib/extlib.ml index 3b0ee2265e7a1d1ff71f6cd8ae16129411840f89..832dbc10bfb000d4482b4abae8680f05c883f632 100644 --- a/src/libraries/stdlib/extlib.ml +++ b/src/libraries/stdlib/extlib.ml @@ -436,17 +436,12 @@ let temp_dir_cleanup_at_exit ?(debug=false) base = in try_dir_cleanup_at_exit 10 base -(* replace "noalloc" with [@@noalloc] for OCaml version >= 4.03.0 *) -[@@@ warning "-3"] -external usleep: int -> unit = "ml_usleep" "noalloc" - (* In ../utils/c_bindings.c ; man usleep for details. *) - (* ************************************************************************* *) (** Strings *) (* ************************************************************************* *) -external compare_strings: string -> string -> int -> bool = "compare_strings" "noalloc" -[@@@ warning "+3"] +external compare_strings: string -> string -> int -> bool = + "compare_strings" [@@noalloc] let string_prefix ?(strict=false) prefix s = let add = if strict then 1 else 0 in diff --git a/src/libraries/stdlib/extlib.mli b/src/libraries/stdlib/extlib.mli index 6b8084f6922b7696e2566d6d94c14f37d2dbb6ac..50d3745f5506e63bd47700cd3e88dacfe35122c5 100644 --- a/src/libraries/stdlib/extlib.mli +++ b/src/libraries/stdlib/extlib.mli @@ -382,11 +382,6 @@ val safe_remove: string -> unit val safe_remove_dir: string -> unit -val usleep: int -> unit - (** Unix function that sleep for [n] microseconds. - See [man usleep] for details. - Should not be used under Win32. *) - (* ************************************************************************* *) (** Comparison functions *) (* ************************************************************************* *) diff --git a/src/libraries/utils/c_bindings.c b/src/libraries/utils/c_bindings.c index b03878d2dce1b398d0b097adcbf93c77abdea095..743f47dbda486bee34dd756dcae213b4f20708dc 100644 --- a/src/libraries/utils/c_bindings.c +++ b/src/libraries/utils/c_bindings.c @@ -253,9 +253,3 @@ value single_precision_of_string(value str) double d = f; return caml_copy_double(d); } - -value ml_usleep(value v) -{ - usleep( Int_val(v) ); - return Val_unit ; -} diff --git a/src/libraries/utils/command.ml b/src/libraries/utils/command.ml index be4593d70d7b70cf5d7ed8ce1ccc08dbd3e797ac..22ab26bbb6a8c694c5244c66eb5762068ce9e68d 100644 --- a/src/libraries/utils/command.ml +++ b/src/libraries/utils/command.ml @@ -259,7 +259,7 @@ let command ?(timeout=0) ?stdout ?stderr cmd args = | Result r -> res := r; false - in while running () do Extlib.usleep 100000 (* 0.1s *) done ; !res + in while running () do Unix.sleepf 0.1 done ; !res else let f = command_generic ~async:false ?stdout ?stderr cmd args in match f () with diff --git a/src/libraries/utils/task.ml b/src/libraries/utils/task.ml index 6dd5eb96cff7cf274d3bffcaab2e9ec22eceb6ae..164a847defba67d1c9dbdbe964127a9f570c01fb 100644 --- a/src/libraries/utils/task.ml +++ b/src/libraries/utils/task.ml @@ -109,7 +109,8 @@ struct let rec wait = function | UNIT a -> a | YIELD f -> Db.yield() ; wait (f Coin) - | WAIT(ms,f) -> Db.yield() ; Extlib.usleep ms ; wait (f Coin) + | WAIT(ms,f) -> + Db.yield() ; Unix.sleepf (float_of_int ms /. 1_000_000.); wait (f Coin) let finished = function UNIT a -> Some a | YIELD _ | WAIT _ -> None @@ -341,7 +342,7 @@ let share sh = todo let on_idle = ref (fun f -> try - while f () do Extlib.usleep 50000 (* wait for 50ms *) done + while f () do Unix.sleepf 0.05 (* wait for 50ms *) done with Db.Cancel -> ()) (* -------------------------------------------------------------------------- *)