Package: bordeaux-threads

Macro with-lock-held

Lambda List

with-lock-held ((place) &body body)


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.