Make #11082 more OS/2-specific.
[p5sagit/p5-mst-13.2.git] / ext / Thread / unsync.tx
CommitLineData
0fcb073c 1BEGIN {
2 eval { require Config; import Config };
3 if ($@) {
4 print "1..0 # Skip: no Config\n";
5 exit(0);
6 }
7 if ($Config{extensions} !~ /\bThread\b/) {
8 print "1..0 # Skip: no use5005threads\n";
9 exit(0);
10 }
11}
12
d9bb3666 13use Thread;
14
15$| = 1;
16
17if (@ARGV) {
18 srand($ARGV[0]);
19} else {
20 my $seed = $$ ^ $^T;
21 print "Randomising to $seed\n";
22 srand($seed);
23}
24
25sub whoami {
26 my ($depth, $a, $b, $c) = @_;
27 my $i;
28 print "whoami ($depth): $a $b $c\n";
29 sleep 1;
30 whoami($depth - 1, $a, $b, $c) if $depth > 0;
31}
32
33sub start_foo {
34 my $r = 3 + int(10 * rand);
35 print "start_foo: r is $r\n";
36 whoami($r, "start_foo", "foo1", "foo2");
783070da 37 print "start_foo: finished\n";
d9bb3666 38}
39
40sub start_bar {
41 my $r = 3 + int(10 * rand);
42 print "start_bar: r is $r\n";
43 whoami($r, "start_bar", "bar1", "bar2");
783070da 44 print "start_bar: finished\n";
d9bb3666 45}
46
47$foo = new Thread \&start_foo;
48$bar = new Thread \&start_bar;
49print "main: exiting\n";