6 $lock->waituntil(sub { $inuse ? 0 : ($inuse = 1) });
8 $lock->signal(sub { $inuse = 0 });
10 $lock->signal(sub { $inuse = 42 });
15 $lock = new Thread::Cond;
16 $t = new Thread \&printstuff;
17 PAUSE: while (!$done) {
19 $lock->waituntil(sub {
20 $inuse != 42 ? $inuse ? 0 : ($inuse = 1) : ($done = 1, 0)
24 $lock->signal(sub { $inuse = 0 });
26 print "main exiting\n";