sb-concurrency: GATE tweak, fix building without threads
[sbcl.git] / contrib / sb-concurrency / gate.lisp
index 9628d57..b51c37c 100644 (file)
@@ -58,9 +58,10 @@ if the gate was already open."
   (declare (gate gate))
   (let (closed)
     (with-mutex ((gate-mutex gate))
-      (setf closed (eq :closed (gate-state gate))
-            (gate-state gate) :open)
-      (condition-broadcast (gate-queue gate)))
+      (sb-sys:without-interrupts
+        (setf closed (eq :closed (gate-state gate))
+              (gate-state gate) :open)
+        (condition-broadcast (gate-queue gate))))
     closed))
 
 (defun close-gate (gate)