6 use Config qw/%Config/;
9 if (!$Config{useithreads}) {
12 plan(skip_all => 'This perl wasn\'t built to support threads');
19 use Test::More tests => 5 * (2 + 2 + 1) + 1;
22 defined and diag "Using threads $_" for $threads::VERSION;
23 defined and diag "Using threads::shared $_" for $threads::shared::VERSION;
33 Thread::Cleanup::register {
34 my $tid = threads->tid;
45 is $x, $num, "\$x in destructor of thread $tid";
54 my $tid = threads->tid;
64 is $x, $y, "\$x in thread $tid";
74 my $thr = threads->create(\&cb, $_);
75 push @tids, $thr->tid;
83 is $x, -1, '$x in the main thread';
86 is $ran{$_}, 1, "thread $_ was run once";
87 is $called{$_}, undef, "thread $_ destructor wasn't called yet";
91 is $called{$_}, 1, "thread $_ destructor was called once at END time"