Distributed Systems Network Management (DSNM) Subsystem Interface Development Guide
I Process Development Process
Distributed Systems Network Management (DSNM) Subsystem Interface Development 
Guide—109759 3-35
Dispatching Thread Procedures: Events
Dispatching Thread Procedures: Events
A thread dispatch is initiated by an event, such as the completion of a CI 
communication. Events can be generated by the frame or by the thread itself:
•
Events generated by the frame occur singly, with one dispatch per event. 
•
Events generated by the thread occur together, immediately after the next return to 
the frame and before any frame-generated events.
Frame-Generated Service Completion Events
The frame generates one of the following service completion events when it completes a 
request from the thread: 
Frame-Generated Internal Events
The frame can generate internal events, not due directly to a request for service:
Examples of internal events are an event requesting cancellation of the command in 
progress, or an event causing the thread to be redispatched (if it returns to the frame 
without a pending outstanding event). 
Thread-Generated Events: _SIGNAL^EVENT
The library procedure _SIGNAL^EVENT allows the thread to generate its own events. 
The thread can generate private events or events simulating any frame event. When the 
thread generates its own event(s), it is redispatched immediately when it returns 
_RC^WAIT to the frame. 
The thread may generate multiple simultaneous events with _SIGNAL^EVENT. All 
events signaled by the thread before RETURN _RC^WAIT appear in _LAST^EVENTS 
and _REAL^LAST^EVENTS together at the next thread dispatch. No frame events can 
appear in this case.
_LAST^EVENTS and _REAL^LAST^EVENTS are defined in “State Management.”
_EV^IODONE Generated when I/O initiated by a _SEND^CI request completes 
_EV^TIMEOUT Generated when a timeout interval set by a call to 
_SET^TIMEOUT elapses
_EV^STARTUP  Generated on the frame’s initial dispatch of the thread
_EV^CONTINUE  Generated when the thread returns with an _RC^WAIT and no 
outstanding requests are needed 
_EV^CANCEL  Generated when the frame receives a command cancellation 
request
CALL _SIGNAL^EVENT ( event(s) );










