src/Pure/ML/ml_statistics.ML
changeset 72113 2d9e40cfe9af
parent 72111 b9ded33bd58c
child 72134 f40200b5bb3c
--- a/src/Pure/ML/ml_statistics.ML	Fri Aug 07 20:19:49 2020 +0200
+++ b/src/Pure/ML/ml_statistics.ML	Fri Aug 07 20:28:53 2020 +0200
@@ -132,6 +132,22 @@
 
 (* monitor process *)
 
+(* FIXME workaround for 100% CPU usage in OS.Process.sleep *)
+structure OS =
+struct
+  open OS;
+  structure Process =
+  struct
+    open Process;
+    fun sleep t =
+      let
+        open Thread;
+        val lock = Mutex.mutex ();
+        val cond = ConditionVar.conditionVar ();
+      in ConditionVar.waitUntil (cond, lock, Time.now () + t) end;
+  end;
+end;
+
 fun monitor pid delay =
   let
     fun loop () =