Generic FunctionPackage: mpToCDocOverviewCGDocRelNotesFAQIndexPermutedIndex
Allegro CL version 8.2
New since 8.2 release.

sharable-lock-lock

Arguments: sharable-lock mode &key yield-rate timeout

Acquire a sharable-lock in the specified mode.

If the lock was acquired, the returned value is :locked or :recursive depending on the dynamic context.

If the lock was not acquired, the first returned value is nil, and a second value may be one of the keywords :timeout, :shared or :exclusive.

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

The yield-rate argument, if specified, must be a positive integer, or the keyword :never. The specified value overrides the value in the lock instance. If the argument is omitted, or specified as nil, than the value in the lock instance is used.

The timeout argument, if specified, must be a non-negative number of seconds. The value determines how long the program will wait if the lock is not immediately available. A timeout value of zero specifies that that the lock must be available immediately only.

When the timeout value is greater than zero, and a timeout occurs, the second value is :timeout.

When the timeout value is zero, the lock is acquired only if there is no delay. If there is a delay, the second value is :shared if the delay is caused by too many shared users; the second value is :exclusive if the delay is caused by an exclusive user.

See Sharable locks in smp.htm.

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


Copyright (c) 1998-2016, Franz Inc. Oakland, CA., USA. All rights reserved.
This page is new in the 8.2 release.
Created 2016.6.21.

ToCDocOverviewCGDocRelNotesFAQIndexPermutedIndex
Allegro CL version 8.2
New since 8.2 release.