Unblock signals in LLVM trap handler.

This commit is contained in:
losfair 2019-08-22 17:45:52 -07:00
parent f503764780
commit bdcd73cd63

View File

@ -69,6 +69,9 @@ extern "C" fn signal_trap_handler(
_ucontext: *mut c_void, _ucontext: *mut c_void,
) { ) {
unsafe { unsafe {
if SigSet::all().thread_unblock().is_err() {
std::process::abort();
}
// Apparently, we can unwind from arbitary instructions, as long // Apparently, we can unwind from arbitary instructions, as long
// as we don't need to catch the exception inside the function that // as we don't need to catch the exception inside the function that
// was interrupted. // was interrupted.