An event flag is a process synchronization primitive in the OpenVMS operating system. It has two possible states, set or cleared. The following basic primitive operations are provided:
- Set event flag ($SETEF)
- Clear event flag ($CLREF)
- Wait for event flag ($WAITFR)--if the flag was clear, this would make the process wait until it was set. If the flag was already set, this would immediately return, leaving the flag set.
Additional synchronization operations are:
- $WFLOR--wait for any of the specified event flags to be set.
- $WFLAND--wait for all the specified event flags to be set.
Event flags can be either local (per-process) or common (accessible by more than one process). Each process has its own set of 64 local flags, numbered 0-63. It is also possible to associate the process with up to 2 sets of common event flags. These come in sets of 32 each, and the process can assign them numbers 64-95 or 96-127. They come into existence when the first process associates with them, and disappear when the last process removes its association.
Every potentially time-consuming asynchronous system call (QIO among others) includes an argument specifying the number of an event flag to set on completion.
Compare semaphore.
Famous quotes containing the words event and/or flag:
“When we awoke, we found a heavy dew on our blankets. I lay awake very early, and listened to the clear, shrill ah, te te, te te, te of the white-throated sparrow, repeated at short intervals, without the least variation, for half an hour, as if it could not enough express its happiness. Whether my companions heard it or not, I know not, but it was a kind of matins to me, and the event of the forenoon.”
—Henry David Thoreau (18171862)
“Up rose old Barbara Frietchie then,
Bowed with her fourscore years and ten;
Bravest of all in Frederick town,
She took up the flag the men hauled down;”
—John Greenleaf Whittier (18071892)