X-Git-Url: http://repo.macrolet.net/gitweb/?a=blobdiff_plain;f=src%2Fcode%2Fsysmacs.lisp;h=b61e1b3234a1cbed6482de5c5cf43a8d78c4c82e;hb=81a75e4657328daad0d63bdbf9555ef4d309c39d;hp=a7e98dd2a45a616404a451737910b1192b0da114;hpb=0d6f1e4381deafc13b09b45833fcb0cc8c2653ac;p=sbcl.git diff --git a/src/code/sysmacs.lisp b/src/code/sysmacs.lisp index a7e98dd..b61e1b3 100644 --- a/src/code/sysmacs.lisp +++ b/src/code/sysmacs.lisp @@ -38,13 +38,10 @@ gcs. Finally, upon leaving the BODY if gc is not inhibited it runs the pending gc. Similarly, if gc is triggered in another thread then it waits until gc is enabled in this thread." `(unwind-protect - (let ((*gc-inhibit* t)) - ,@body) - ;; the test is racy, but it can err only on the overeager side - (when (and (not *gc-inhibit*) - (or #!+sb-thread *stop-for-gc-pending* - *gc-pending*)) - (sb!unix::receive-pending-interrupt)))) + (let ((*gc-inhibit* t)) + ,@body) + ;; the test is racy, but it can err only on the overeager side + (sb!kernel::maybe-handle-pending-gc))) ;;; EOF-OR-LOSE is a useful macro that handles EOF.