,value
,wait-p))
+(sb!xc:defmacro with-system-mutex ((mutex &key without-gcing) &body body)
+ `(call-with-system-mutex
+ (lambda () ,@body)
+ ,mutex
+ ,without-gcing))
+
(sb!xc:defmacro with-recursive-lock ((mutex) &body body)
#!+sb-doc
"Acquires MUTEX for the dynamic scope of BODY. Within that scope
(lambda () ,@body)
,spinlock))
+(sb!xc:defmacro with-recursive-system-spinlock ((spinlock &key without-gcing)
+ &body body)
+ `(call-with-recursive-system-spinlock
+ (lambda () ,@body)
+ ,spinlock
+ ,without-gcing))
+
(sb!xc:defmacro with-spinlock ((spinlock) &body body)
`(call-with-spinlock
(lambda () ,@body)
(without-interrupts
(funcall function))))
- (defun call-with-system-spinlock (function lock &optional without-gcing-p)
+ (defun call-with-recursive-system-spinlock (function lock
+ &optional without-gcing-p)
(declare (ignore lock)
(function function))
(if without-gcing-p