☜ | Synchronous Event ProcessingDraft MDC Standard | ☞ |
Synchronous event processing is enabled by the ESTArt command, which leaves the process in a wait-for-event state. Events are processed sequentially in the order in which they occur. Each event is added to the per-process synchronous event queue. This queue is only guaranteed to hold one event, though it may hold more. Events occurring when the queue is full are lost. When the process is in the wait-for-event state and there is an event in the queue, the event is processed in the synchronous model.
When a registered event is processed in the synchronous model, the process implicitly executes the command
Do handler
where handler is the registered event handler. When process control returns from the handler, the process returns to the waiting-for-event state. If the handler executes an ESTOp command, the control implictly performs the number of Quit commands necessary to return to the execution level of the most recently executed ESTArt command, and then terminates that ESTArt command.
When a process is initiated, no event processing is enabled, and no nodes in ^$Job(processid ,"EVENT") are defined. When a process terminates, event processing is implicitly terminated and ^$Job(processid , "EVENT") is implicitly killed. Any queued events (synchronous or asynchronous event queues) for that process are discarded.
Copyright © Standard Documents; 1977-2024 MUMPS Development Committee;
Copyright © Examples: 1995-2024 Ed de Moel;
Copyright © Annotations: 2003-2008 Jacquard Systems Research
Copyright © Annotations: 2008-2024 Ed de Moel.
Some specifications are "approved for inclusion in a future standard". Note that the MUMPS Development Committee cannot guarantee that such future standards will indeed be published.
This page most recently updated on 17-Nov-2023, 10:37:39.
For comments, contact Ed de Moel (demoel@jacquardsystems.com)