Like process-lock, but on a "sharing" lock.
A sharing lock.
The status of the process while the lock is locked, as seen in the Process Browser.
A timeout period, in seconds.
This is like process-lock, but the lock must be "sharing" and the lock will be locked in shared mode. That means that other threads can also lock it in shared mode.
Before locking this waits for the 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. Normally with-sharing-lock is the best way to achieve this.
It is possible to lock for sharing inside the scope of sharing lock and inside the scope of exclusive lock.
process-sharing-lock
is guaranteed to return if it locked process, but may throw before locking, as described in Guarantees and limitations when locking and unlocking.
LispWorks User Guide and Reference Manual - 21 Dec 2011