From: Hoehle, Joerg-C. <Joe...@t-...> - 2006-03-20 13:30:54
|
Hi, While CLISP on MS-Windows works fine, a 2nd deadly sigsegv crash shortly after an SP stack overflow is caused by CLISP ignoring the libsigsegv README: the handler must ensure to restore the normal signal mask (because many signals are blocked while the handler is executed) [...] ; then only it can longjmp away. How should clisp determine or define the "normal signal mask"? Merely locally re-enabling SIGSEGV in stackoverflow_handler() as I've tested leads to a clisp that survives stack overflows (great news!), = but ignores all other signals. E.g. It cannot be aborted with SIGINT/^C = anymore. So what signals should CLISP activate? May the user affect this set without clisp knowing (e.g. via FFI call to kernel)? Effect? Regards, J=F6rg H=F6hle. |