summaryrefslogtreecommitdiff
path: root/ocaml-binary-annot/testsuite/tests/lib-threads/test5.ml
diff options
context:
space:
mode:
Diffstat (limited to 'ocaml-binary-annot/testsuite/tests/lib-threads/test5.ml')
-rw-r--r--ocaml-binary-annot/testsuite/tests/lib-threads/test5.ml19
1 files changed, 19 insertions, 0 deletions
diff --git a/ocaml-binary-annot/testsuite/tests/lib-threads/test5.ml b/ocaml-binary-annot/testsuite/tests/lib-threads/test5.ml
new file mode 100644
index 0000000000..3534d03b7b
--- /dev/null
+++ b/ocaml-binary-annot/testsuite/tests/lib-threads/test5.ml
@@ -0,0 +1,19 @@
+open Event
+
+let ch = (new_channel() : string channel)
+
+let rec sender msg =
+ sync (send ch msg);
+ sender msg
+
+let rec receiver name =
+ print_string (name ^ ": " ^ sync (receive ch) ^ "\n");
+ flush stdout;
+ receiver name
+
+let _ =
+ Thread.create sender "hello";
+ Thread.create sender "world";
+ Thread.create receiver "A";
+ receiver "B";
+ exit 0