p4raw-id: //depot/perlext/Thread@132
+++ /dev/null
-use Thread 'fast';
-
-sub printstuff {
- my $count = 2000;
- while ($count--) {
- $lock->waituntil(sub { $inuse ? 0 : ($inuse = 1) });
- print "A";
- $lock->signal(sub { $inuse = 0 });
- }
- $lock->signal(sub { $inuse = 42 });
-}
-
-$| = 1;
-$inuse = 0;
-$lock = new Thread::Cond;
-$t = new Thread \&printstuff;
-PAUSE: while (!$done) {
- sleep 3;
- $lock->waituntil(sub {
- $inuse != 42 ? $inuse ? 0 : ($inuse = 1) : ($done = 1, 0)
- });
- last PAUSE if $done;
- sleep 1;
- $lock->signal(sub { $inuse = 0 });
-}
-print "main exiting\n";