1BEGIN {
2    chdir 't' if -d 't';
3    push @INC, '../lib';
4    require Config; import Config;
5    unless ($Config{'useithreads'}) {
6	print "1..0 # Skip: no useithreads\n";
7 	exit 0;
8    }
9}
10
11use ExtUtils::testlib;
12use strict;
13BEGIN { print "1..64\n" };
14use threads;
15
16
17print "ok 1\n";
18
19
20
21
22sub ok {
23    my ($id, $ok, $name) = @_;
24
25    # You have to do it this way or VMS will get confused.
26    print $ok ? "ok $id - $name\n" : "not ok $id - $name\n";
27
28    printf "# Failed test at line %d\n", (caller)[2] unless $ok;
29
30    return $ok;
31}
32
33
34ok(2,1,"");
35
36sub test9 {
37  my $i = shift;
38  for(1..500000) { $i++};
39}
40my @threads;
41for(3..33) {
42  ok($_,1,"Multiple thread test");
43  push @threads ,threads->create('test9',$_);
44}
45
46my $i = 34;
47for(@threads) {
48  $_->join;
49  ok($i++,1,"Thread joined");
50}
51
52