;; %instance-set-conditional can test for 0 (which is a fixnum) and
;; store any value
#!+sb-thread
- (compare-and-exchange-spinlock-value spinlock 0 1)
+ (loop until
+ (eql 0 (compare-and-exchange-spinlock-value spinlock 0 1)))
t)
(defun release-spinlock (spinlock)
(when *session*
(%delete-thread-from-session thread *session*)))
#!+sb-lutex
- (when (thread-interruptions-lock thread)
+ (without-gcing
(/show0 "FREEING MUTEX LUTEX")
(with-lutex-address (lutex (mutex-lutex (thread-interruptions-lock thread)))
(%lutex-destroy lutex))))