4 # test that END blocks are run in the thread that created them and
5 # not in any child threads
8 if ($ENV{'PERL_CORE'}){
10 unshift @INC, '../lib';
13 unless ($Config{'useithreads'}) {
14 print "1..0 # Skip: no useithreads\n";
19 use ExtUtils::testlib;
21 BEGIN { print "1..6\n" };
31 # You have to do it this way or VMS will get confused.
32 print $ok ? "ok $test_id - $name\n" : "not ok $test_id - $name\n";
34 printf "# Failed test at line %d\n", (caller)[2] unless $ok;
39 END { ok(1,"End block run once") }
40 threads->create(sub { eval "END { ok(1,'') }"})->join();
41 threads->create(sub { eval "END { ok(1,'') }"})->join();
42 threads->create(\&thread)->join();
45 eval "END { ok(1,'') }";
46 threads->create(sub { eval "END { ok(1,'') }"})->join();