3 unless ($Config{useithreads}) {
4 print "1..0 # SKIP your perl does not support ithreads\n";
10 unless (eval { require threads }) {
11 print "1..0 # SKIP threads.pm not installed\n";
19 our $had_error :shared;
20 END { $? = $had_error||0 }
26 if ($ENV{DEVEL_GLOBALDESTRUCTION_PP_TEST}) {
28 no warnings 'redefine';
30 for my $f (qw(DynaLoader::bootstrap XSLoader::load)) {
31 my ($mod) = $f =~ /^ (.+) \:\: [^:]+ $/x;
32 eval "require $mod" or die $@;
36 die 'no XS' if ($_[0]||'') eq 'Devel::GlobalDestruction';
43 # load it before spawning a thread, that's the whole point
44 require Devel::GlobalDestruction;
48 # just die so we don't need to deal with testcount skew
49 unless ( ($_[0]||'') eq 'arg' ) {
51 die "Argument passing failed!";
54 delete $INC{'t/01_basic.t'};
60 threads->create('do_test', 'arg')->join