2 var <>test, waitingThreads;
5 ^super.newCopyArgs(test, Array(8))
9 waitingThreads = waitingThreads.add(thisThread.threadPlayer);
13 hang { arg value = \hang;
14 // ignore the test, just wait
15 waitingThreads = waitingThreads.add(thisThread.threadPlayer);
20 var tempWaitingThreads, time;
22 time = thisThread.seconds;
23 tempWaitingThreads = waitingThreads;
25 tempWaitingThreads.do({ arg thread;
26 thread.clock.sched(0, thread);
31 var tempWaitingThreads, time;
32 // ignore the test, just resume all waiting threads
33 time = thisThread.seconds;
34 tempWaitingThreads = waitingThreads;
36 tempWaitingThreads.do({ arg thread;
37 thread.clock.sched(0, thread);
46 *new { arg inVal = \unbound;
51 condition = Condition { value != \unbound };
54 if (value == \unbound) {
55 Error("cannot rebind a FlowVar").throw