Unblocks a barrier.
mp
barrier-unblock barrier &key disable reset-count kill-waiting
barrier⇩ |
A barrier. |
disable⇩ |
A boolean. |
reset-count⇩ |
A positive fixnum, t or nil . |
kill-waiting⇩ |
A boolean. |
The function barrier-unblock
unblocks the barrier barrier, potentially disabling it, resetting its count or killing the waiting processes.
Without keyword arguments, barrier-unblock
unblocks barrier, which means that any thread that is waiting on barrier wakes and returns from barrier-wait, and its arriver count is reset to 0.
If disable is true, or if disable is not passed and barrier was made with disable-on-unblock true, then barrier-unblock
also disables barrier, so any further calls to barrier-wait return nil
immediately.
If reset-count is non-nil, it must be valid count (a positive fixnum or t
), and barrier-unblock
sets the count of barrier to this value.
If kill-waiting is true, instead of waking up the waiting threads, barrier-unblock
kills them (by process-terminate).
process-terminate
barrier
barrier-wait
make-barrier
19.7.2 Synchronization barriers
LispWorks® User Guide and Reference Manual - 01 Dec 2021 19:30:51