Procuring an Event Unconditionally

An unconditional procure statement is one that stops execution of the process until the requested event becomes AVAILABLE. When the event becomes available, the unconditional procure statement immediately changes the event back to NOT AVAILABLE and allows the process to resume executing. If the requested event is already AVAILABLE, then the unconditional procure does not stop execution of the process; instead, the unconditional procure immediately changes the event to NOT AVAILABLE and allows the process to continue executing.

The following ALGOL statement unconditionally procures the event E1:

PROCURE (E1);

The following COBOL statement has the same effect:

LOCK (E1).

There is one situation that can cause an unconditional procure to continue waiting even after an event becomes AVAILABLE. For details, refer to Partially Liberating an Event later in this section.