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

## barrier-wait

Arguments: barrier &key timeout callback pass-through discount-on-abort discount-on-timeout disable-on-unblock

The method when barrier is a `barrier` object is as follows.

If the barrier (a `barrier` instance) is disabled when this function is called, then it returns `nil` immediately, and all the other arguments are ignored.

Otherwise, this is an arrival at the barrier. If this arrival is not the last, then increment the arriver-count and either pass through or block. If the pass-through argument was non-`nil`, then return `:passed-through`; otherwise block until the barrier count is reached, or the timeout expires. If the timeout expires. return `:timeout`, otherwise return `t`.

If this arrival is the last, then optionally call the callback function, unblock the barrier, and return `:unblocked`.

The callback, discount, and disable arguments, override the corresponding slots in the barrier instance.

See Barrier API 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