Function | Package: excl | ToC | DocOverview | CGDoc | RelNotes | FAQ | Index | PermutedIndex
| Allegro CL version 9.0 Unrevised from 8.2 to 9.0. 8.2 version

## get-atomic-modify-expansion

Arguments: place-form environment safe

This function is called by the atomic-modify macro expanders to find out how to treat place-form. It returns six values:

1. list of generated symbols for subform bindings
2. list of subforms to be bound to the variables in first value
3. generated symbol for variable to get old value from place
4. generated symbol for variable to be set to new value for place
5. conditional atomic write form (will be `nil` if we can't handle this place form atomically)
6. read form

The arguments are:

- place-form: a form designating a place to be read and updated
- environment: a compiler environment or nil
- safe: a boolean; non-nil means we know somehow that the place-form value cannot have changed since we read it, so the conditional-store form can be simplified to an unconditional setf. This is very rarely used.

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

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