X-Git-Url: http://repo.macrolet.net/gitweb/?a=blobdiff_plain;ds=sidebyside;f=src%2Fruntime%2Fppc-arch.c;h=bf4b37fd661722b9c5a975771d8fef3bf8191422;hb=3fe0010d2777b41e01ea9b4a0f894cfa40f7df1b;hp=fb5958ecf389ca632ef8770af5257e2a218f7b83;hpb=343ef95fda9da33830d5ab6aabe5368c898f0918;p=sbcl.git diff --git a/src/runtime/ppc-arch.c b/src/runtime/ppc-arch.c index fb5958e..bf4b37f 100644 --- a/src/runtime/ppc-arch.c +++ b/src/runtime/ppc-arch.c @@ -125,12 +125,9 @@ static void sigtrap_handler(int signal, siginfo_t *siginfo, os_context_t *context) { u32 code; - sigset_t *mask; #ifdef LISP_FEATURE_LINUX os_restore_fp_control(context); #endif - mask=(os_context_sigmask_addr(context)); - sigsetmask(mask); code=*((u32 *)(*os_context_pc_addr(context))); if (code == ((3 << 26) | (16 << 21) | (reg_ALLOC << 16))) { /* twlti reg_ALLOC,0 - check for deferred interrupt */ @@ -158,7 +155,8 @@ sigtrap_handler(int signal, siginfo_t *siginfo, os_context_t *context) break; case trap_PendingInterrupt: - /* when do we run this branch instead of the twlti code above? */ + /* This is supposed run after WITHOUT-INTERRUPTS if there + * were pending signals. */ arch_skip_instruction(context); interrupt_handle_pending(context); break;