X-Git-Url: http://repo.macrolet.net/gitweb/?a=blobdiff_plain;ds=sidebyside;f=src%2Fruntime%2Fx86-darwin-os.c;h=ad41b0fe4ff102fafdb76af320f2947743d27034;hb=922fe0d6da0e4bdcd366f5101395670aabd14e62;hp=c657565b9987690cdd15a410e98032e662300460;hpb=a96167c44596bf4e549b514dd3fd8880081510da;p=sbcl.git diff --git a/src/runtime/x86-darwin-os.c b/src/runtime/x86-darwin-os.c index c657565..ad41b0f 100644 --- a/src/runtime/x86-darwin-os.c +++ b/src/runtime/x86-darwin-os.c @@ -270,7 +270,7 @@ void signal_emulation_wrapper(x86_thread_state32_t *thread_state, build_fake_signal_context(context, thread_state, float_state); - block_blockable_signals(); + block_blockable_signals(0, 0); handler(signal, siginfo, context); @@ -430,15 +430,13 @@ catch_exception_raise(mach_port_t exception_port, } /* At stack guard */ if (os_trunc_to_page(addr) == CONTROL_STACK_GUARD_PAGE(th)) { - protect_control_stack_guard_page(0, th); - protect_control_stack_return_guard_page(1, th); + lower_thread_control_stack_guard_page(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(1, th); - protect_control_stack_return_guard_page(0, th); + reset_thread_control_stack_guard_page(th); break; } /* Regular memory fault */