A lock object (see make-lock).
The status of the current Lisp process, before process-lock
returns, that is, the status while the current process is waiting to timeout. This can be seen in the Process Browser.
A timeout interval, in seconds. If this is not given, process-lock
waits until the lock can be set by the current Lisp process. A process can set a lock more than once.
The function process-lock
attempts to lock lock and returns t
if successful, or nil
if timed out. If lock is already locked and the owner of the lock is the value of *current-process*, then lock remains locked and an internal count is incremented. The Lisp process sleeps until the lock is claimed or the timeout period expires.
result is t
if lock was successfully locked, and nil
otherwise.
process-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 - 13 Feb 2015