HP-UX Event ManagerProgrammer's Guide
NOTE: EVM is a facility for broadcasting messages and must not be used to implement a private
point-to-point communication channel between two processes. Using EVM for such purposes
can impact the system performance negatively. To establish communication with another process
and send the information that is not relevant to the system administrators, HP recommends that
you use a more direct channel, for example, use sockets or pipes communication channel.
Figure 1-1 provides an overview of posting, subscribing, and retrieval operations.
Figure 1-1 EVM Overview
How EVM Events are Handled
An EVM event is a package of data that can be passed between various software components
and also stored for later review.
An event must match an event template that is stored in the EVM database. Data items for an
event can be supplied in either the posted event itself or by the matching template. The contents
of the event received by the event subscriber result from merging the data items in the posted
event with those in the event template. For more information about matching and merging, see
“Matching the Names of Posted Events with Event Template Names” (page 26) and “Merging
Data Items from Templates and Posted Events” (page 26) .
A typical event life cycle includes the following operations:
1. Templates are created for all events that a process may want to post, and these templates
are stored in an EVM database when the product or the subsystem is installed.
2. Processes that are interested in receiving events establish a connection with the EVM daemon
and then issue subscription requests, specifying a filter that identifies the set of events in
which they are interested.
3. When a process or kernel component detects an eventworthy status change, it connects to
EVM and posts the event that corresponds to that status change.
Alternatively, if the event is posted to an event channel other than EVM, the channel processes
the event in its own way, which may include logging it. The channel then converts the event
to EVM format and pass it to EVM.
4. EVM validates the request to post the event by checking if the event has a corresponding
template in the EVM template database, and if the poster is authorized to post the event. If
it is valid, EVM creates a merged version of the event by combining data items in the posted
event with data items in the template.
12 Introduction