Next: , Previous: , Up: Function ABI Documentation   [Contents][Index]


8.2.10 _gfortran_caf_lock — Locking a lock variable

Description:

Acquire a lock on the given image on a scalar locking variable or for the given array element for an array-valued variable. If the aquired_lock is NULL, the function return after having obtained the lock. If it is nonnull, the result is is assigned the value true (one) when the lock could be obtained and false (zero) otherwise. Locking a lock variable which has already been locked by the same image is an error.

Syntax:

void _gfortran_caf_lock (caf_token_t token, size_t index, int image_index, int *aquired_lock, int *stat, char *errmsg, int errmsg_len)

Arguments:
tokenintent(in) An opaque pointer identifying the coarray.
indexArray index; first array index is 0. For scalars, it is always 0.
image_indexThe ID of the remote image; must be a positive number.
aquired_lockintent(out) If not NULL, it returns whether lock could be obtained
statintent(out) Stores the STAT=; may be NULL
errmsgintent(out) When an error occurs, this will be set to an error message; may be NULL
errmsg_lenthe buffer size of errmsg.
NOTES

This function is also called for critical blocks; for those, the array index is always zero and the image index is one. Libraries are permitted to use other images for critical-block locking variables.