Beefy Boxes and Bandwidth Generously Provided by pair Networks
Pathologically Eclectic Rubbish Lister
 
PerlMonks  

Re^3: about THREAD SIGNALLING

by Khen1950fx (Canon)
on Apr 23, 2013 at 08:26 UTC ( #1030069=note: print w/ replies, xml ) Need Help??


in reply to Re^2: about THREAD SIGNALLING
in thread about THREAD SIGNALLING

Just remember that sub catch_CtrlC {} and SIG{'INT'} = \&catch_CtrlC; must both be included in each thread that you want to SIGINT out of.

#/usr/bin/perl use strict; use warnings; use threads; use threads::shared; my @thrList; my $count = 1; share $count; my $counter = 3; while ($counter) { $counter--; my $thrHandle = threads->create( \&thrdfun ); push @thrList, $thrHandle; } foreach (@thrList) { $_->join(); } sub thrdfun { sub catch_CtrlC { $_->kill('TERM'); } $SIG{'INT'} = \&catch_CtrlC; print "thrdfun: $count \n"; $count++; while (1) { (); } exit; }


Comment on Re^3: about THREAD SIGNALLING
Select or Download Code
Re^4: about THREAD SIGNALLING
by anaconda_wly (Scribe) on Apr 23, 2013 at 08:44 UTC
    OK, I got the point. The thread sig handler should be defined inside the thread body, different from the process signal handler.

Log In?
Username:
Password:

What's my password?
Create A New User
Node Status?
node history
Node Type: note [id://1030069]
help
Chatterbox?
and the web crawler heard nothing...

How do I use this? | Other CB clients
Other Users?
Others having an uproarious good time at the Monastery: (7)
As of 2014-12-18 03:27 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    Is guessing a good strategy for surviving in the IT business?





    Results (41 votes), past polls