Writing Monitors for the Event Monitoring Service (December 1999)

44 Chapter2
The EMS Application Programming Interface (API)
Function Descriptions
In order to minimize potential timeouts when communicating with a
monitor, call rm_monitor_start and rm_get_next_event (in that order)
as soon as possible in your monitor code.
The following events will cause rm_get_next_event() to return:
A message arrives from the Registrar. This message will be a
Subclass Request or Monitor Request.
A timer pops, indicating that the EMS API needs an update from the
resource monitor about a resource value.
A timer pops, indicating that there has been no activity associated
with this resource monitor for a lengthy period (60 minutes), and that
the resource monitor may terminate.
A message has arrived from some source other than the EMS API.
This select event applies only to resource monitors that use the
select(2) parameters.
A timer pops, indicating that the time interval specified by the
resource monitor has expired without any messages arriving. This
timeout event applies only to resource monitors that use the
select(2) parameters.
A monitor request is unregistered. The resource monitor is informed
when a monitor request is unregistered, although in general no action
is necessary.