Like process-lock, but on a "sharing" lock.
A sharing lock.
The status of the process while lock is locked, as seen in the Process Browser.
A non-negative real
or nil
.
This is like process-lock, but sharing-lock must be a "sharing" lock and it will be locked in shared mode. That means that other threads can also lock it in shared mode.
Before locking, process-sharing-lock
waits for sharing-lock to be free of any exclusive lock, but it does not check for other shared mode use of the same lock.
Calls to process-sharing-lock
should be matched by calls to process-sharing-unlock with sharing-lock. Normally with-sharing-lock is the best way to achieve this.
It is possible to lock for sharing inside the scope of a sharing lock and inside the scope of an exclusive lock.
process-sharing-lock
is guaranteed to return if it locked sharing-lock, but may throw before locking, as described in Guarantees and limitations when locking and unlocking.
LispWorks User Guide and Reference Manual - 20 Sep 2017