in reply to Net::SSH::Perl kills perl from within an eval
If nothing else, how about an explanation about how it's managing to die within an 'eval' without getting back to the main program?
exit is the easiest way. exec also works. There are also less pedestrian ways including bugs in perl, POSIX::_exit(), XS code, ...
(update) I tested and the following is another way:
$ perl -e'eval { alarm(1); sleep(3); }; print "Done\n"' Alarm clock $
In other words, the module (Net::SSH::Perl) could set a handler for a time-out but then remove the handler before canceling the time-out.
But I don't see where the module calls exit(), exec(), or even alarm().
- tye
|
|---|