Locks, applies a setup function, calls condition-variable-signal and unlocks.
A function designator.
Arguments to setup-function.
lock-and-condition-variable-signal locks the lock lock, applies setup-function to args, calls condition-variable-signal and unlocks lock.
lock-and-condition-variable-signal makes it easier to avoid mistakes when using a condition-variable.
It returns the result of the call to condition-variable-signal.
setup-function is called with lock held, so it should do the minimum amount of work and avoid locking other locks. Normally setup-function should only set the cell that the process(es) that wait(s) on the condition-variable condvar check with the predicate in lock-and-condition-variable-wait.
LispWorks User Guide and Reference Manual - 20 Sep 2017