It seems that unwinding from a signal handler does not exit the signal
> (loop repeat 2 initially (print (linux:|getpid|)) do
(lambda (signal) (princ " Got signal ") (throw :hot-potatoe signal)))
(princ " Looping ")
(loop do (sleep 5) (princ ".")))
(princ " Caught "))
11740 Looping . Got signal Caught Looping ....User defined signal 2
^ ^^^ ^
kill -USR1 11740 |___________________________||| |
kill -USR2 11740 ________________________________|
Is there a way to do it?
If not, shouldn't the signal handler code be modified to exit the
signal handling before unwinding?
__Pascal Bourguignon__ http://www.informatimago.com/
The world will now reboot; don't bother saving your artefacts.