# Image Control Statements

Execution of an image control statement divides the execution sequence on an image into segments. The following are image control statements:

- The SYNC ALL statement

- The SYNC IMAGES statement

- The SYNC MEMORY statement

- The SYNC TEAM statement

- An ALLOCATE or DEALLOCATE statement that has a coarray allocatable object

- The CHANGE TEAM and END TEAM statements

- The CRITICAL and END CRITICAL statements

- The EVENT POST and EVENT WAIT statements

- The FORM TEAM statement

- The LOCK and UNLOCK statements

- Any statement that completes execution of a block or procedure and which results in the implicit deallocation of a coarray

- A CALL statement that references the intrinsic subroutine MOVE_ALLOC with coarray arguments

- The STOP statement

- The END statement of a main program

A SYNC MEMORY statement is executed for all image control statements except CRITICAL, END CRITICAL, EVENT POST, EVENT WAIT, LOCK, and UNLOCK.

During an execution of a statement that invokes more than one procedure, at most one invocation can cause execution of an image control statement other than CRITICAL or END CRITICAL.

### Note

Collective actions may hang if images have stopped or failed and the other images have not all detected the stop or fail; for more information, see FAILED_IMAGES.

Parent topic: Execution Control

- STAT= and ERRMSG= Specifiers in Image Control Statements
- Execution Segments for Images

## See Also

Execution Segments for Images
FAILED_IMAGES