☜ | MWAPI - Event Commands - ESTARTDraft MDC Standard | ☞ |
ESTA [ RT ] | postcond | │ │ │ |
[ SP ] SP timeout |
│ │ │ |
The M[UMPS] command ESTART activates event processing. Event processing remains activated until the termination of execution of the ESTART command, except that event processing is implicitly deactivated at the initiation of call back processing for each event. At the conclusion of call back processing for each event, event processing is implicitly reactivated and all einfoattribute nodes in ^$EVENT become undefined.
During call back processing for an event E, event processing can be explicitly activated by executing a nested ESTART command. This causes call back processing for event E to be suspended, and causes the values of all einfoattribute nodes in ^$EVENT to be stacked and to become undefined. When execution of this nested ESTART command is terminated, the values of the einfoattribute nodes that it stacked are restored to ^$EVENT.
During call back processing for event E and prior to execution of a nested ESTART command, the FOCUS dattribute for the display on which the window associated with event E appears must be assigned a value which identifies a window W which has a MODAL wattribute value equal to "APPLICATION". If FOCUS is not assigned such a value, an error occurs with an ecode = "M55". If FOCUS is assigned such a value, the nested ESTART command activates event processing for (a) any enabled events for window W and (b) any enabled timer events for all other windows; processing of all other enabled events is deferred.
The execution of an ESTART command is terminated if (a) an ESTOP command is executed during call back processing for that ESTART command or (b) if timeout is present, the timeout expires. If the timeout period expires during callback processing for an event, the ESTART command is terminated at the conclusion of processing for that event.
When execution of an ESTART command is terminated, execution continues with the command following that ESTART command.
If timeout is present, $TEST indicates the condition that caused event processing to terminate. If event processing was terminated with an ESTOP command, the value of $TEST is 1. If event processing was not terminated with an ESTOP command, the value of $TEST is 0. If timeout is not present, execution of ESTART does not change $TEST.
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 30-Nov-2011, 20:10:44.
For comments, contact Ed de Moel (demoel@jacquardsystems.com)