process-sharing-lock sharing-lock &optional whostate timeout
A sharing lock.
The status of the process while lock is locked, as seen in the Process Browser.
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.
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.
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