]> gitweb.factorcode.org Git - factor.git/blobdiff - basis/concurrency/count-downs/count-downs.factor
core, basis, extra: Remove DOS line endings from files.
[factor.git] / basis / concurrency / count-downs / count-downs.factor
index 85b0f76f856fcbe70b3d8a13f27131a13ef9195c..c5d1d57985dce08e3fb85849de5bafe6fdee3e64 100755 (executable)
@@ -1,37 +1,37 @@
-! Copyright (C) 2008 Slava Pestov.\r
-! See http://factorcode.org/license.txt for BSD license.\r
-USING: dlists kernel math concurrency.promises\r
-concurrency.mailboxes accessors fry ;\r
-IN: concurrency.count-downs\r
-\r
-! http://java.sun.com/j2se/1.5.0/docs/api/java/util/concurrent/CountDownLatch.html\r
-\r
-TUPLE: count-down-tuple n promise ;\r
-\r
-: count-down-check ( count-down -- )\r
-    dup n>> zero? [ t swap promise>> fulfill ] [ drop ] if ;\r
-\r
-ERROR: invalid-count-down-count count ;\r
-\r
-: <count-down> ( n -- count-down )\r
-    dup 0 < [ invalid-count-down-count ] when\r
-    <promise> \ count-down-tuple boa\r
-    dup count-down-check ;\r
-\r
-ERROR: count-down-already-done ;\r
-\r
-: count-down ( count-down -- )\r
-    dup n>> dup zero?\r
-    [ count-down-already-done ]\r
-    [ 1 - >>n count-down-check ] if ;\r
-\r
-: await-timeout ( count-down timeout -- )\r
-    [ promise>> ] dip ?promise-timeout ?linked t assert= ;\r
-\r
-: await ( count-down -- )\r
-    f await-timeout ;\r
-\r
-: spawn-stage ( quot count-down -- )\r
-    [ '[ @ _ count-down ] ] keep\r
-    "Count down stage"\r
-    swap promise>> mailbox>> spawn-linked-to drop ;\r
+! Copyright (C) 2008 Slava Pestov.
+! See http://factorcode.org/license.txt for BSD license.
+USING: dlists kernel math concurrency.promises
+concurrency.mailboxes accessors fry ;
+IN: concurrency.count-downs
+
+! http://java.sun.com/j2se/1.5.0/docs/api/java/util/concurrent/CountDownLatch.html
+
+TUPLE: count-down-tuple n promise ;
+
+: count-down-check ( count-down -- )
+    dup n>> zero? [ t swap promise>> fulfill ] [ drop ] if ;
+
+ERROR: invalid-count-down-count count ;
+
+: <count-down> ( n -- count-down )
+    dup 0 < [ invalid-count-down-count ] when
+    <promise> \ count-down-tuple boa
+    dup count-down-check ;
+
+ERROR: count-down-already-done ;
+
+: count-down ( count-down -- )
+    dup n>> dup zero?
+    [ count-down-already-done ]
+    [ 1 - >>n count-down-check ] if ;
+
+: await-timeout ( count-down timeout -- )
+    [ promise>> ] dip ?promise-timeout ?linked t assert= ;
+
+: await ( count-down -- )
+    f await-timeout ;
+
+: spawn-stage ( quot count-down -- )
+    [ '[ @ _ count-down ] ] keep
+    "Count down stage"
+    swap promise>> mailbox>> spawn-linked-to drop ;