X-Git-Url: http://repo.macrolet.net/gitweb/?a=blobdiff_plain;f=src%2Fruntime%2Fsunos-os.c;h=8d8bb2802ff5fdcbddd1647194f96901b798e2d3;hb=4603ca100a7d181fe4316429365fc725501336dd;hp=bc4d397071967973b1b5233955cee2c777ec471d;hpb=d564ccae6f79c4423b3d8f8dd1af59844fea6ac2;p=sbcl.git diff --git a/src/runtime/sunos-os.c b/src/runtime/sunos-os.c index bc4d397..8d8bb28 100644 --- a/src/runtime/sunos-os.c +++ b/src/runtime/sunos-os.c @@ -217,11 +217,10 @@ static void sigsegv_handler(int signal, siginfo_t *info, void* void_context) { os_context_t *context = arch_os_get_context(&void_context); - os_vm_address_t addr; + os_vm_address_t addr = arch_get_bad_addr(signal, info, context); - addr = arch_get_bad_addr(signal, info, context); - if(!interrupt_maybe_gc(signal, info, context)) { - if(!handle_guard_page_triggered(context,addr)) + if (!cheneygc_handle_wp_violation(context, addr)) { + if (!handle_guard_page_triggered(context,addr)) interrupt_handle_now(signal, info, context); } }