summaryrefslogtreecommitdiff
path: root/otherlibs/threads/condition.ml
diff options
context:
space:
mode:
Diffstat (limited to 'otherlibs/threads/condition.ml')
-rw-r--r--otherlibs/threads/condition.ml36
1 files changed, 0 insertions, 36 deletions
diff --git a/otherlibs/threads/condition.ml b/otherlibs/threads/condition.ml
deleted file mode 100644
index 521711418d..0000000000
--- a/otherlibs/threads/condition.ml
+++ /dev/null
@@ -1,36 +0,0 @@
-(***********************************************************************)
-(* *)
-(* Objective Caml *)
-(* *)
-(* Xavier Leroy and Damien Doligez, INRIA Rocquencourt *)
-(* *)
-(* Copyright 1996 Institut National de Recherche en Informatique et *)
-(* en Automatique. All rights reserved. This file is distributed *)
-(* under the terms of the GNU Library General Public License, with *)
-(* the special exception on linking described in file ../../LICENSE. *)
-(* *)
-(***********************************************************************)
-
-(* $Id$ *)
-
-type t = { mutable waiting: Thread.t list }
-
-let create () = { waiting = [] }
-
-let wait cond mut =
- Thread.critical_section := true;
- Mutex.unlock mut;
- cond.waiting <- Thread.self() :: cond.waiting;
- Thread.sleep();
- Mutex.lock mut
-
-let signal cond =
- match cond.waiting with (* atomic *)
- [] -> ()
- | th :: rem -> cond.waiting <- rem (* atomic *); Thread.wakeup th
-
-let broadcast cond =
- let w = cond.waiting in (* atomic *)
- cond.waiting <- []; (* atomic *)
- List.iter Thread.wakeup w
-