0.9.1.55: trivial cleanup, new documentation directory
[sbcl.git] / src / runtime / alloc.c
index 9d9c6d6..7b19856 100644 (file)
@@ -45,11 +45,12 @@ pa_alloc(int bytes)
 {
     lispobj *result=0;
     struct thread *th=arch_os_get_current_thread();
+    /* FIXME: OOAO violation: see arch_pseudo_* */
     SetSymbolValue(PSEUDO_ATOMIC_INTERRUPTED, make_fixnum(0),th);
     SetSymbolValue(PSEUDO_ATOMIC_ATOMIC, make_fixnum(1),th);
     result=alloc(bytes);
     SetSymbolValue(PSEUDO_ATOMIC_ATOMIC, make_fixnum(0),th);
-    if (SymbolValue(PSEUDO_ATOMIC_INTERRUPTED,th)) 
+    if (fixnum_value(SymbolValue(PSEUDO_ATOMIC_INTERRUPTED,th)))
        /* even if we gc at this point, the new allocation will be
         * protected from being moved, because result is on the c stack
         * and points to it */