Generic Function | Package: mp | ToC | DocOverview | CGDoc | RelNotes | FAQ | Index | PermutedIndex
| Allegro CL version 10.1 Unrevised from 10.0 to 10.1. 10.0 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-2022, Franz Inc. Lafayette, CA., USA. All rights reserved.
This page was not revised from the 10.0 page.
Created 2019.8.20.

|  | ToC | DocOverview | CGDoc | RelNotes | FAQ | Index | PermutedIndex
| Allegro CL version 10.1 Unrevised from 10.0 to 10.1. 10.0 version