6 if (! $Config{'useithreads'}) {
7 print("1..0 # SKIP Perl not compiled with 'useithreads'\n");
14 use Thread::Semaphore;
17 require 't/test.pl'; # Test::More work-alike for Perl 5.8.0
24 ### Basic usage with multiple threads ###
26 my $sm = Thread::Semaphore->new();
27 my $st = Thread::Semaphore->new(0);
28 ok($sm, 'New Semaphore');
29 ok($st, 'New Semaphore');
31 my $token :shared = 0;
35 is($token++, 1, 'Thread 1 got semaphore');
40 is($token, 5, 'Thread 1 done');
46 is($token++, 3, 'Thread 2 got semaphore');
51 is($token, 5, 'Thread 2 done');
56 is($token++, 0, 'Main has semaphore');
60 is($token++, 2, 'Main got semaphore');
64 is($token++, 4, 'Main re-got semaphore');