control_stack_exhausted_handler(int signal, siginfo_t *siginfo, void *void_context) {
os_context_t *context = arch_os_get_context(&void_context);
+ unblock_signals_in_context_and_maybe_warn(context);
arrange_return_to_lisp_function
(context, StaticSymbolFunction(CONTROL_STACK_EXHAUSTED_ERROR));
}
}
/* At stack guard */
if (os_trunc_to_page(addr) == CONTROL_STACK_GUARD_PAGE(th)) {
- protect_control_stack_guard_page_thread(0, th);
- protect_control_stack_return_guard_page_thread(1, th);
+ protect_control_stack_guard_page(0, th);
+ protect_control_stack_return_guard_page(1, th);
handler = control_stack_exhausted_handler;
break;
}
/* Return from stack guard */
if (os_trunc_to_page(addr) == CONTROL_STACK_RETURN_GUARD_PAGE(th)) {
- protect_control_stack_guard_page_thread(1, th);
- protect_control_stack_return_guard_page_thread(0, th);
+ protect_control_stack_guard_page(1, th);
+ protect_control_stack_return_guard_page(0, th);
break;
}
/* Regular memory fault */