Hi casaschi,
I couldn't reproduce the error you showed with your example code. I tried:
use warnings; use strict; sub handleSigs { my ($signalReceived) = @_; my $exitVal = 0; warn("warning: received $signalReceived signal"); if ($signalReceived eq "INT") { $exitVal = 1; } elsif ($signalReceived eq "USR1") { $exitVal = 2; } elsif ($signalReceived eq "USR2") { $exitVal = 3; } exit($exitVal); } $SIG{USR1}=\&handleSigs; $SIG{USR2}=\&handleSigs; print "My PID is $$\n"; sleep(10); print "Exiting\n";
And when I send a SIGUSR1 or SIGUSR2, I got the expected message warning: received USR1 signal at ....
I'm guessing there's some part of your code that is relevant to the problem that you haven't shown. If you could try to boil down your code to something that reproduces the problem, that would be very helpful. See also Short, Self Contained, Correct Example
Regards,
-- Hauke D
In reply to Re: trouble with custom signal handlers
by haukex
in thread trouble with custom signal handlers
by casaschi
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |