Temporarily release a lock or a recursive lock, execute forms and then reacquire the lock.
Arguments and values
|lock||A lock, a recursive lock, or a condition variable|
|whostate|| A string (default |
|forms|| An implicit |
|results||The values returned by evaluating the last form|
The values returned by evaluating the last form.
A thread attempts to release a lock that it does not hold.
Acquire and temporarily release a lock controlling access to several critical sections of code:
(with-lock-held (lock :whostate "Waiting for Critical Lock") (critical-section-1) (without-lock-held (lock :whostate "Doing non-critical stuff") (non-critical-section)) (critical-section-2))
The whostate value is ignored by SBCL.
The GBBopen Project