X-Git-Url: http://repo.macrolet.net/gitweb/?a=blobdiff_plain;f=src%2Fruntime%2Fx86-64-darwin-os.c;h=35ac2f9045064fd77535cc1f55da9384d5d7297c;hb=4bf2de6a2adff75459cf218c8bff67f6cdb91211;hp=2b987dcd1ca1e6134021d105d0ecae4e0d28b97e;hpb=e5d96999ae4388181ddb0c113313f26afbe997e8;p=sbcl.git diff --git a/src/runtime/x86-64-darwin-os.c b/src/runtime/x86-64-darwin-os.c index 2b987dc..35ac2f9 100644 --- a/src/runtime/x86-64-darwin-os.c +++ b/src/runtime/x86-64-darwin-os.c @@ -1,4 +1,3 @@ - #ifdef LISP_FEATURE_SB_THREAD #include #include @@ -65,9 +64,10 @@ pthread_mutex_t mach_exception_lock = PTHREAD_MUTEX_INITIALIZER; kern_return_t mach_thread_init(mach_port_t thread_exception_port); -void sigill_handler(int signal, siginfo_t *siginfo, void *void_context); -void sigtrap_handler(int signal, siginfo_t *siginfo, void *void_context); -void memory_fault_handler(int signal, siginfo_t *siginfo, void *void_context); +void sigill_handler(int signal, siginfo_t *siginfo, os_context_t *context); +void sigtrap_handler(int signal, siginfo_t *siginfo, os_context_t *context); +void memory_fault_handler(int signal, siginfo_t *siginfo, + os_context_t *context); /* exc_server handles mach exception messages from the kernel and * calls catch exception raise. We use the system-provided @@ -277,18 +277,15 @@ void dump_context(x86_thread_state64_t *context) #endif void -control_stack_exhausted_handler(int signal, siginfo_t *siginfo, void *void_context) { - os_context_t *context = arch_os_get_context(&void_context); - +control_stack_exhausted_handler(int signal, siginfo_t *siginfo, + os_context_t *context) { unblock_signals_in_context_and_maybe_warn(context); arrange_return_to_lisp_function (context, StaticSymbolFunction(CONTROL_STACK_EXHAUSTED_ERROR)); } void -undefined_alien_handler(int signal, siginfo_t *siginfo, void *void_context) { - os_context_t *context = arch_os_get_context(&void_context); - +undefined_alien_handler(int signal, siginfo_t *siginfo, os_context_t *context) { arrange_return_to_lisp_function (context, StaticSymbolFunction(UNDEFINED_ALIEN_VARIABLE_ERROR)); }