I found indeed 1 case where SIGHUP seems to be generated.
I've never heard of SIGHUP ever being generated on windows, nor can I reproduce it.
#! perl -slw
use strict;
use Data::Dump qw[ pp ];
use Config;
$|++;
my @signames = split ' ', $Config{ sig_name };
eval qq[ \$SIG{ $signames[ $_ ] } = sub{ warn qq[SIG $_ received\n] };
+ ] for 1 .. 21;
pp \%SIG;
1 while sleep 1;
__END__
c:\test>sigtest 2>log
## typed ^C and then ^break and then closed the console
C:\test>type ..\log
do {
my $a = {
ABRT => undef,
ALRM => sub { ... },
BREAK => sub { ... },
CHLD => sub { ... },
CLD => 'fix',
CONT => undef,
FPE => sub { ... },
HUP => sub { ... },
ILL => sub { ... },
INT => sub { ... },
KILL => sub { ... },
NUM05 => sub { ... },
NUM06 => sub { ... },
NUM07 => sub { ... },
NUM10 => sub { ... },
NUM12 => sub { ... },
NUM16 => sub { ... },
NUM17 => sub { ... },
NUM18 => sub { ... },
NUM19 => sub { ... },
NUM24 => undef,
PIPE => sub { ... },
QUIT => 'fix',
SEGV => sub { ... },
STOP => undef,
TERM => sub { ... },
};
$a->{CLD} = $a->{CHLD};
$a->{QUIT} = $a->{BREAK};
$a;
}
SIG 2 received
SIG 21 received
^C
And if you trace the guts snippet you posted through, you'll find that do_raise() effectively return false for SIGCLD & SIGCHLD and true otherwise; and when it returns true, (as it will for the CTRL_CLOSE_EVENT|), sig_terminate() simple calls exit(sig) with sig == 1.
Basically, I don't think that there is any way perl on windows will ever receive or trap a SIGHUP, so any message you get to that effect must be a mistaken user message.
With the rise and rise of 'Social' network sites: 'Computers are making people easier to use everyday'
Examine what is said, not who speaks -- Silence betokens consent -- Love the truth but pardon error.
"Science is about questioning the status quo. Questioning authority".
In the absence of evidence, opinion is indistinguishable from prejudice.
-
Are you posting in the right place? Check out Where do I post X? to know for sure.
-
Posts may use any of the Perl Monks Approved HTML tags. Currently these include the following:
<code> <a> <b> <big>
<blockquote> <br /> <dd>
<dl> <dt> <em> <font>
<h1> <h2> <h3> <h4>
<h5> <h6> <hr /> <i>
<li> <nbsp> <ol> <p>
<small> <strike> <strong>
<sub> <sup> <table>
<td> <th> <tr> <tt>
<u> <ul>
-
Snippets of code should be wrapped in
<code> tags not
<pre> tags. In fact, <pre>
tags should generally be avoided. If they must
be used, extreme care should be
taken to ensure that their contents do not
have long lines (<70 chars), in order to prevent
horizontal scrolling (and possible janitor
intervention).
-
Want more info? How to link
or How to display code and escape characters
are good places to start.