MacroPackage: net.rpcToCDocOverviewCGDocRelNotesIndexPermutedIndex
Allegro CL version 6.1
Unrevised

with-access-gate*

Arguments: (home gate [options] [letvars]) body

The purpose of this macro and the related with-access-gate is to serialize access to a shared object. The body is evaluated after the gate is grabbed. The gate is opened on exit from the body. The body can only return a single value.

The options are :if-not followed by a form to be evaluated and keyword/value pairs suitable to be passed to grab-gate. The letvars are let binding forms.

In with-access-gate*, the let variables are bound as in let*, after the gate is grabbed. In the related with-access-gate, the let variables are bound as in let, before the gate is grabbed.

The home argument is an expression that evaluates to an object that identifies the home of the gate. The gate argument is an expression that evaluates to an instance of a mp:gate (see Gates (both models) in multiprocessing.htm).

The value of the :if-not option is evaluated if the gate cannot be grabbed within the timeout implied by the home object or an explicit timeout option.

See also rpc.htm for general information on the Remote Procedure Call utility in Allegro CL.


Copyright (c) 1998-2001, Franz Inc. Berkeley, CA., USA. All rights reserved.
Documentation for Allegro CL version 6.1 update # 1. This page was not revised.
Created 2001.12.15.

ToCDocOverviewCGDocRelNotesIndexPermutedIndex
Allegro CL version 6.1
Unrevised