* Clear faulting_p from a safepoint rather than inside general_error, because jumping into unwind-native-frames could blow up. * Handle multiple faults from fatal_error by breakpointing. Is there anything else we can safely do at that point? * Verify memory protection faults in the top half of the signal handlers because signal dispatch could fault. Treat memory faults during gc or fep as fatal errors. * Add a function factor_vm::abort() that restores the default SIGABRT handler and ::abort()s. Use it from fatal_error() so we get useful context from gdb and so the user gets feedback from the system crash reporter that Factor blew up and didn't just disappear. * In factorbug(), don't proceed with .s .r .c if it would be unsafe to do so. * Don't pile on signals if we've already called fatal_error(). |
||
---|---|---|
.. | ||
authors.txt | ||
kernel-docs.factor | ||
kernel-tests.factor | ||
kernel.factor | ||
summary.txt |