Superfox il Volpone has asked for the wisdom of the Perl Monks concerning the following question:
prints this code:use strict; use warnings; use Config; use threads; use threads::shared; print("Config{useithreads} : " . $Config{"useithreads"} . "\n"); print("main starting\n"); my $t1 = threads->create(&__logger); my $t2 = threads->create(&__logger); $t1->join(); $t2->join(); print("main done\n"); sub __logger{ #threads->detach(); # raise the error "already detached" print("logger init\n"); sleep(10); print("logger closed\n"); }
perl -v:Config{useithreads} : define main starting logger init logger closed logger init Thread 1 terminated abnormally: Undefined subroutine &main::1 called a +t ./test_threads.pl line 19. logger closed Thread 2 terminated abnormally: Undefined subroutine &main::1 called a +t ./test_threads.pl line 20. main done
I can even replace the first function with a while(1){ }, it won`t execute anything else. What am I missing?This is perl 5, version 16, subversion 3 (v5.16.3) built for x86_64-li +nux-thread-multi
|
|---|
| Replies are listed 'Best First'. | |
|---|---|
|
Re: Perl threads
by Lennotoecom (Pilgrim) on Jan 18, 2014 at 00:28 UTC | |
|
Re: Perl threads
by Preceptor (Deacon) on Jan 18, 2014 at 10:48 UTC | |
by Superfox il Volpone (Sexton) on Jan 18, 2014 at 13:09 UTC | |
|
Re: Perl threads
by Superfox il Volpone (Sexton) on Jan 17, 2014 at 23:25 UTC |