$action=POSIX::SigAction->new('doSigHup',$sigset,&POSIX::SA_NODEFER);
Note that you are setting up an "unsafe" signal, as opposed to Safe Signal that original poster was using. Furthermore, the use of SA_NODEFER to avoid changes to sigprocmask has the unfortunate side-effect of making your handler re-interruptable from within its own signal handler.
Altogether, a particularly nasty concoction that may eventually result in data corruption. I'd rather advise to just clear the blocked signal at program (re)start, after the handler is assigned of course.
| [reply] [d/l] [select] |