Un indicador de evento es una primitiva de sincronización de procesos en el sistema operativo OpenVMS . Tiene dos estados posibles, activado o desactivado . Se proporcionan las siguientes operaciones primitivas básicas:
- Establecer bandera de evento ($ SETEF)
- Borrar marca de evento ($ CLREF)
- Espere el indicador de evento ($ WAITFR): si el indicador estaba limpio, esto haría que el proceso esperara hasta que se estableciera. Si la bandera ya estaba configurada, esto regresaría inmediatamente, dejando la bandera configurada.
Las operaciones de sincronización adicionales son:
- $ WFLOR: espere a que se establezca alguno de los indicadores de evento especificados.
- $ WFLAND: espere a que se establezcan todas las banderas de eventos especificadas.
Los indicadores de eventos pueden ser locales (por proceso) o comunes (accesibles por más de un proceso). Cada proceso tiene su propio conjunto de 64 indicadores locales, numerados del 0 al 63. También es posible asociar el proceso con hasta 2 conjuntos de banderas de eventos comunes. Estos vienen en juegos de 32 cada uno, y el proceso puede asignarles los números 64-95 o 96-127. Surgen cuando el primer proceso se asocia con ellos y desaparecen cuando el último proceso elimina su asociación.
Cada llamada al sistema asincrónica que puede consumir mucho tiempo ( QIO, entre otros) incluye un argumento que especifica el número de un indicador de evento que se configurará al finalizar.
Compare el semáforo .