Common Event Flag Cluster

From VSI OpenVMS Wiki
Jump to: navigation, search

A common event flag cluster is a set of 32 event flags that enable cooperating processes to post event notifications to each other.

Event flags in the cluster can be set or cleared to indicate the occurrence of an event. All event flags are contained within clusters of 32 event flags, and each process has access to four clusters (numbered 0 through 3). Two of the clusters are local to a single process. Event flag clusters 2 and 3 are called common event flag clusters and are used for interprocess synchronization. A subject may be associated with up to two common event flag clusters. Each common event flag in a cluster is referenced by an event flag number.


Naming rules

The name of the object is whatever character string was supplied as an argument to the Associate Common Event Flag Cluster system service ($ASCEFC). Remember that common event flag cluster names are qualified by your UIC group number.

Types of access

The capability class supports the following types of access:

Associate Gives a process the right to establish an association with the named cluster so the process can access event flags
Delete Gives a process the right to mark a permanent event flag cluster for deletion with the Delete Common Event Flag Cluster ($DLCEFC) system service. The actual deletion occurs once all processes disassociate from the cluster.
Control Gives you the right to modify the protection elements of the common event flag cluster

Template profile

The common event flag cluster class provides one template profile. Although the template assigns an owner UIC of [0,0], this value is only temporary. As soon as the object is created, the operating system replaces a 0 value with the value in the corresponding field of the creating process's UIC.

Template name Owner UIC Protection code
DEFAULT [0,0] S:AD,O:AD,G:A,W

When the process creating the common event flag cluster supplies a prot argument to $ASCEFC that has a value of 1, then the system modifies the template so the process UIC is the owner, and the protection code denies group access.

Privilege requirements

Creation of a permanent common event flag cluster requires the PRMCEB privilege. This privilege also grants delete access for permanent clusters.

Kinds of auditing performed

The operating system can audit the following types of events:

Event audited When audit occurs
Creation When the first process to associate with a particular cluster calls $ASCEFC
Access Whenever subsequent callers to $ASCEFC associate with the cluster
Deaccess When a process calls $DACEFC or associates with another cluster or at image rundown
Deletion When the process calls $DLCEFC

Permanence of the object

A common event flag cluster and its security profile need to be reset each time a system starts up.