All Manuals > LispWorks User Guide and Reference Manual > 44 The MP Package

NextPrevUpTopContentsIndex

process-sharing-lock

Function
Summary

Like process-lock, but on a "sharing" lock.

Package

mp

Signature

process-sharing-lock sharing-lock &optional whostate timeout

Arguments

sharing-lock

A sharing lock.

whostate

The status of the process while lock is locked, as seen in the Process Browser.

timeout

A non-negative real or nil.

Description

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.

Notes

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.

See also

process-lock
process-sharing-unlock
with-sharing-lock
Locks


LispWorks User Guide and Reference Manual - 20 Sep 2017

NextPrevUpTopContentsIndex