Package: bordeaux-threads
Macro with-lock-held
Lambda List
with-lock-held ((place) &body body)
Details
Evaluates body with the lock named by place, the value of which is a lock created by make-lock. Before the forms in body are evaluated, the lock is acquired as if by using acquire-lock. After the forms in body have been evaluated, or if a non-local control transfer is caused (e.g. by throw or signal), the lock is released as if by release-lock.
Note that if the debugger is entered, it is unspecified whether the lock is released at debugger entry or at debugger exit when execution is restarted.
Note that if the debugger is entered, it is unspecified whether the lock is released at debugger entry or at debugger exit when execution is restarted.