Event code 3 — handle condition according to language defaults event

Syntax

Call CEEEVnnn (3, ceecib, results, new_condition)
void     *ceecib;
INT4     *results;
FEEDBACK *new_condition;
ceecib (input)
The CEECIB for which the condition handler is being called. This value is passed by reference. Part of the CEECIB is the condition_token and the machine environment for the procedure in which the condition occurred. (For more details, see Language Environment condition information block.)
results (output)
Contains the instructions indicating the actions the language-specific handler wants the Language Environment condition manager to take as a result of processing the condition. This field is passed by reference. The following are valid responses:
Response results value Description
resume 10 Resume at the resume cursor (condition has been handled).
percolate 20 Percolate to the next condition handler.
21 Percolate to the first user condition handler for the next stack frame. (This can skip a language-specific exception handler for this stack frame as well as the remaining user condition handlers in the queue at this stack frame.)
promote 30 Promote to the next condition handler.
31 Promote to the next stack frame. (This can skip a language-specific exception handler for this stack frame as well as any remaining user condition handlers in the queue at this stack frame.)
33 Promote and restart condition handling for the first condition handler for the stack frame that is denoted by the resume cursor location.
enablement 40 Ignore the condition; the thread is resumed where interrupted.
41 Enable the condition for condition handling.
42 Enable the condition and transform the condition (using the new_condition parameter).
percolate enablement 50 Percolate the enablement to the calling stack frame.
51 Transform the condition (using the new_condition parameter) and percolate the enablement to the calling stack frame.
new_condition (output)
The new condition token representing the promoted condition. This field is used only for result values that denote promote.

Usage notes

  • For a description of the calling method, see Language Environment member list and event handler.
  • It is invalid to promote a condition without returning a new condition token. If the original condition is returned in new_condition, the condition manager acts as if a result of 20 had been specified.
  • Prior to a condition being promoted, the MIB must be populated with the new inserts for the promoted condition if necessary.
  • The language-specific handlers are automatically established by stack frame. The Language Environment condition manager determines the language associated with a given stack frame, and then calls the event handler with the appropriate event code for enablement, condition handling, or condition handling for stack frame zero.
  • The language-specific handlers are automatically disestablished when the stack frame is popped off the stack either using a return, a GOTO out of block, or moving the resume cursor.
  • If a resume is requested, the member that owns the target stack frame is called immediately prior to passing control to the target stack frame. For details, see Event code 10 — resume from a condition handler event.