X-Git-Url: http://repo.macrolet.net/gitweb/?a=blobdiff_plain;f=src%2Fruntime%2Fgc-common.c;h=057be12737ebdaabbce43a767944688f9606c10b;hb=1b32a547d26cf078ba9f2948edeb27ff91e78f49;hp=d01a4fc369e9b233554ecc941cb4c089273995d6;hpb=f6fb4d990ff434408cd6808c244255b4a301eb23;p=sbcl.git diff --git a/src/runtime/gc-common.c b/src/runtime/gc-common.c index d01a4fc..057be12 100644 --- a/src/runtime/gc-common.c +++ b/src/runtime/gc-common.c @@ -2454,15 +2454,19 @@ maybe_gc(os_context_t *context) * here. */ ((SymbolValue(INTERRUPTS_ENABLED,thread) != NIL) || (SymbolValue(ALLOW_WITH_INTERRUPTS,thread) != NIL))) { +#ifndef LISP_FEATURE_WIN32 sigset_t *context_sigmask = os_context_sigmask_addr(context); if (!deferrables_blocked_in_sigset_p(context_sigmask)) { - FSHOW((stderr, "/maybe_gc: calling POST_GC\n")); thread_sigmask(SIG_SETMASK, context_sigmask, 0); check_gc_signals_unblocked_or_lose(); +#endif + FSHOW((stderr, "/maybe_gc: calling POST_GC\n")); funcall0(StaticSymbolFunction(POST_GC)); +#ifndef LISP_FEATURE_WIN32 } else { FSHOW((stderr, "/maybe_gc: punting on POST_GC due to blockage\n")); } +#endif } undo_fake_foreign_function_call(context); FSHOW((stderr, "/maybe_gc: returning\n"));