Locks, applies a setup function, calls condition-variable-broadcast and unlocks.
The function lock-and-condition-variable-broadcast
locks the lock lock, applies the function setup-function, calls condition-variable-broadcast and unlocks. lock-and-condition-variable-broadcast
makes it easier to avoid mistakes in using a condition variable.
lock-and-condition-variable-broadcast
performs the equivalent of:
(mp:with-lock (lock nil lock-timeout )
(apply setup-function args )
(mp:condition-variable-broadcast condvar ))
It returns the result of the call to condition-variable-broadcast.
See condition-variable-broadcast and with-lock for more details.
setup-function is called with the lock held, so it should do the minimum amount of work and avoid locking other locks.
lock-and-condition-variable-wait
simple-lock-and-condition-variable-wait
lock-and-condition-variable-signal
condition-variable-wait
condition-variable-signal
condition-variable-broadcast
processes-count
LispWorks User Guide and Reference Manual - 13 Feb 2015