Generic Function | Package: mp | ToC | DocOverview | CGDoc | RelNotes | FAQ | Index | PermutedIndex
| Allegro CL version 9.0 Unrevised from 8.2 to 9.0. 8.2 version

## sharable-lock-unlock

Arguments: sharable-lock mode

Release a `sharable-lock` in the specified mode.

The value returned is `nil` or one of the keywords `:unlocked` or `:recursive`.

The mode argument must be one of the keywords `:shared` or `:exclusive`.

If the lock is locked in the specifed mode, the locker count is decremented. If the count is still not zero, the keyword `:recursive` is returned. If the count is zero, the keyword `:unlocked` is returned.

If the lock is not locked, and safe-p (when the lock was created with make-sharable-lock) is `nil`, `nil` is returned.

Note that a call to sharable-lock-unlock can only release a lock acquired with a call to sharable-lock-lock. The locks established with the with-shared-lock and with-exclusive-lock macros can only be released by exiting the dynamic context of the macro calls.

See Sharable locks in smp.htm.

See multiprocessing.htm for general information on multiprocessing in Allegro CL.

Copyright (c) 1998-2019, Franz Inc. Oakland, CA., USA. All rights reserved.
This page was not revised from the 8.2 page.
Created 2012.5.30.

|  | ToC | DocOverview | CGDoc | RelNotes | FAQ | Index | PermutedIndex
| Allegro CL version 9.0 Unrevised from 8.2 to 9.0. 8.2 version