void os_install_interrupt_handlers(void) { undoably_install_low_level_interrupt_handler(SIG_MEMORY_FAULT, sigsegv_handler); #ifdef LISP_FEATURE_SB_THREAD undoably_install_low_level_interrupt_handler(SIG_STOP_FOR_GC, sig_stop_for_gc_handler); #endif }
void os_install_interrupt_handlers(void) { undoably_install_low_level_interrupt_handler(SIG_MEMORY_FAULT, sigsegv_handler); /* OAOOM c.f. sunos-os.c. * Should we have a reusable function gc_install_interrupt_handlers? */ #ifdef LISP_FEATURE_SB_THREAD # ifdef LISP_FEATURE_SB_SAFEPOINT # ifdef LISP_FEATURE_SB_THRUPTION undoably_install_low_level_interrupt_handler(SIGPIPE, thruption_handler); # endif # else undoably_install_low_level_interrupt_handler(SIG_STOP_FOR_GC, sig_stop_for_gc_handler); # endif #endif }
void arch_install_interrupt_handlers() { SHOW("entering arch_install_interrupt_handlers()"); /* Note: The old CMU CL code here used sigtrap_handler() to handle * SIGILL as well as SIGTRAP. I couldn't see any reason to do * things that way. So, I changed to separate handlers when * debugging a problem on OpenBSD, where SBCL wasn't catching * SIGILL properly, but was instead letting the process be * terminated with an "Illegal instruction" output. If this change * turns out to break something (maybe breakpoint handling on some * OS I haven't tested on?) and we have to go back to the old CMU * CL way, I hope there will at least be a comment to explain * why.. -- WHN 2001-06-07 */ #if !defined(LISP_FEATURE_WIN32) && !defined(LISP_FEATURE_MACH_EXCEPTION_HANDLER) undoably_install_low_level_interrupt_handler(SIGILL , sigill_handler); undoably_install_low_level_interrupt_handler(SIGTRAP, sigtrap_handler); #endif SHOW("returning from arch_install_interrupt_handlers()"); }
void os_install_interrupt_handlers(void) { undoably_install_low_level_interrupt_handler(SIG_MEMORY_FAULT, sigsegv_handler); }
void arch_install_interrupt_handlers() { undoably_install_low_level_interrupt_handler(SIGTRAP, sigtrap_handler); }