diff options
| author | Mark Murray <markm@FreeBSD.org> | 1998-09-09 07:00:04 +0000 | 
|---|---|---|
| committer | Mark Murray <markm@FreeBSD.org> | 1998-09-09 07:00:04 +0000 | 
| commit | ff6b7ba98e8d4aab04cbe2bfdffdfc9171c1812b (patch) | |
| tree | 58b20e81687d6d5931f120b50802ed21225bf440 /contrib/perl5/ext/Thread/lock.t | |
Diffstat (limited to 'contrib/perl5/ext/Thread/lock.t')
| -rw-r--r-- | contrib/perl5/ext/Thread/lock.t | 27 | 
1 files changed, 27 insertions, 0 deletions
| diff --git a/contrib/perl5/ext/Thread/lock.t b/contrib/perl5/ext/Thread/lock.t new file mode 100644 index 0000000000000..fefb1298797be --- /dev/null +++ b/contrib/perl5/ext/Thread/lock.t @@ -0,0 +1,27 @@ +use Thread; + +$level = 0; + +sub worker +{ +    my $num = shift; +    my $i; +    print "thread $num starting\n"; +    for ($i = 1; $i <= 20; $i++) { +	print "thread $num iteration $i\n"; +	select(undef, undef, undef, rand(10)/100); +	{ +	    lock($lock); +	    warn "thread $num saw non-zero level = $level\n" if $level; +	    $level++; +	    print "thread $num has lock\n"; +	    select(undef, undef, undef, rand(10)/100); +	    $level--; +	} +	print "thread $num released lock\n"; +    } +} + +for ($t = 1; $t <= 5; $t++) { +    new Thread \&worker, $t; +} | 
