Event flag
Encyclopedia
An event flag is a process synchronization
Synchronization
Synchronization is timekeeping which requires the coordination of events to operate a system in unison. The familiar conductor of an orchestra serves to keep the orchestra in time....

 primitive in the OpenVMS
OpenVMS
OpenVMS , previously known as VAX-11/VMS, VAX/VMS or VMS, is a computer server operating system that runs on VAX, Alpha and Itanium-based families of computers. Contrary to what its name suggests, OpenVMS is not open source software; however, the source listings are available for purchase...

 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
QIO
QIO is a term used in several computer operating systems designed by the former Digital Equipment Corporation of Maynard, Massachusetts.I/O operations on these systems are initiated by issuing a QIO call to the kernel...

 among others) includes an argument specifying the number of an event flag to set on completion.

Compare semaphore
Semaphore (programming)
In computer science, a semaphore is a variable or abstract data type that provides a simple but useful abstraction for controlling access by multiple processes to a common resource in a parallel programming environment....

.
The source of this article is wikipedia, the free encyclopedia.  The text of this article is licensed under the GFDL.
 
x
OK