MacroPackage: exclToCDocOverviewCGDocRelNotesFAQIndexPermutedIndex
Allegro CL version 8.1
New since 8.1 release.

with-pinned-objects

Arguments: (forms*) &body body

This macro was added by a patch released in July, 2009. This macro will not be defined if that patch has not been installed. See sys:update-allegro for information on downloading patches.

This is the replacement for excl::atomically when it was used to prevent object relocation by a garbage collection. The new macro exists to provide self-documentation of the intended use.

It compiles to code that evaluates as if it were

(progn form1 form2 ... formn body)

In addition, it interacts with the garbage collector to ensure that the objects obtained by evaluating the forms are not moved by a gc while the forms of body are evaluated. This may place some limits on what forms can appear in body. Currently, body must be appropriate for fast-and-clean, but extensions to the garbage collector are planned to ease this restriction.

See smp.htm and multiprocessing.htm for more information on this macro and on multiprocessing.


Copyright (c) 1998-2009, Franz Inc. Oakland, CA., USA. All rights reserved.
Documentation for Allegro CL version 8.1. This page is new in the 8.1 release.
Created 2007.4.30.

ToCDocOverviewCGDocRelNotesFAQIndexPermutedIndex
Allegro CL version 8.1
New since 8.1 release.