X-Git-Url: http://repo.macrolet.net/gitweb/?a=blobdiff_plain;f=src%2Fruntime%2Flinux-os.c;h=d44f19f4e2fe63f9d06983b0d369c45907d4e15c;hb=1e4629723d19f96d752235ffde34fe58431431ae;hp=8de2f3c9838193cdf622d3e15ec0fd3c0baa6740;hpb=92a258eda6d6f0cadd1251200285671ec92aa45f;p=sbcl.git diff --git a/src/runtime/linux-os.c b/src/runtime/linux-os.c index 8de2f3c..d44f19f 100644 --- a/src/runtime/linux-os.c +++ b/src/runtime/linux-os.c @@ -274,14 +274,14 @@ sigsegv_handler(int signal, siginfo_t *info, void* void_context) if (addr != NULL && *os_context_register_addr(context,reg_ALLOC) & (1L<<63)){ + /* This is the end of a pseudo-atomic section during which * a signal was received. We must deal with the pending interrupt * (see also interrupt.c, ../code/interrupt.lisp) */ - /* (how we got here: when interrupting, we set bit 63 in * reg_Alloc. At the end of the atomic section we tried to - * write to reg_Alloc, got a SIGSEGV (there's nothing mapped + * write to reg_ALLOC, got a SIGSEGV (there's nothing mapped * there) so ended up here */ *os_context_register_addr(context,reg_ALLOC) -= (1L<<63);