Control Boundary Use
Control Boundary Use
When you use an ILE HLL end verb or call API CEETREC, ILE uses the most recent control boundary on the call stack to determine where to transfer control. The call stack entry just prior to the control boundary receives control after ILE completes all end processing.
The control boundary is used when an unhandled function check occurs within an ILE procedure. The control boundary defines the point on the call stack at which the unhandled function check is promoted to the generic ILE failure condition. For additional information, refer to Error Handling.
When the nearest control boundary is the oldest call stack entry associated with a non-default activation group, any HLL end verb, call to the CEETREC API, or unhandled function check causes the activation group to be deleted. When the nearest control boundary is not the oldest call stack entry associated with a non-default activation group, control returns to the call stack entry just prior to the control boundary. The activation group is not deleted because earlier call stack entries exist for the same activation group.
Figure 1 shows procedure P2 and procedure P3 as the oldest call stack entries associated with their activation groups. Using an HLL end verb or calling API CEETREC in procedure P2, P3, P4, or P5 (but not P6 or P7) would cause activation group A2 to be deleted.