A lock object (see make-lock).
The status of the current Lisp process, before
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,
waits until the lock can be set by the current Lisp process. A process can set a lock more than once.
attempts to lock
if successful, or
if timed out. If
is already locked and the owner of the lock is the value of *current-process*, then
remains locked and an internal count is incremented. The Lisp process sleeps until the lock is claimed or the timeout period expires.
is guaranteed to return if it locked process, but may throw before locking, as described in Guarantees and limitations when locking and unlocking.