Not sure if this is of any help (because on the Solaris 10 box I have within reach, there's only an older Perl installed), but just in case: the following works fine here
#!/usr/bin/perl our $sig; # same for my $sig $SIG{INT} = \&handler; sub handler { print "got SIGINT\n"; $sig++; } until ($sig) { print "running...\n"; sleep 1; } print "terminated.\n";
outputs as expected (until/when I send it SIGINT)
running... running... running... got SIGINT terminated.
Can you produce a backtrace, loading your core file in a debugger (gdb perl core, then, at the prompt, typing "bt" — in case you have gdb available, that is...)? This might give a first hint at where things are going wrong. (A perl binary built with debugging info would be better, of course...)
___
$ uname -a SunOS solaris10 5.10 Generic sun4u sparc SUNW,Sun-Blade-2500 $ perl -v This is perl, v5.8.4 built for sun4-solaris-64int (with 27 registered patches, see perl -V for more detail) (...)
In reply to Re: Signal Handling throws Core Dump
by almut
in thread Signal Handling throws Core Dump
by dsb
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |