Well, exit or die would work under unix, so
switch to Linux and your life will be much
better ;^)
However, if that's not an option, then
any OS will let you do something like:
$Done = 0;
sub myhand { print "Caught SIGINT\n"; $Done = 1; }
...
while(1) {
sleep(1);
$Done && die "Time to go";
}
...
I'd also like to warn you that if you use system,
or sleep you're signal handlers may get
reset for
INT and ALRM respectively, so what's in the
run loop may contribute to your woes... I'm not
sure what Windows side-effects to look for...
/charles