Set Invocation Exit (SETIEXIT)

Instruction Syntax

Op Code (Hex) Operand 1 Operand 2
0252 Invocation exit program Argument list

Operand 1: System pointer.

Operand 2: Operand list or null.

Description:

This instruction allows the external entry point of the program specified by operand 1 to be given control when the requesting invocation is destroyed due to normal exception handling actions, or due to any thread termination. Normal exception handling actions are considered to be those actions performed by the Return From Exception (RTNEXCP) or the Signal Exception (SIGEXCP) instructions.

Operand 1 is a system pointer addressing the program that is to receive control. The operand 1 system pointer must be in either the static or automatic storage of the program invoking this instruction.

Operand 2 specifies an operand list that identifies the arguments to be passed to the invocation exit program being called. If operand 2 is null, no arguments are passed to the invocation.

No operand verification takes place when this instruction is executed. Nor are copies made of the operands, so changes made to the operand values after execution of this instruction will be used during later operand verification. Operand verification occurs on the original form of the operands when the invocation exit program is invoked. At that time execute authorization verification to the invocation exit program and any contexts referenced for materialization take place. Also, materialization lock enforcement occurs to contexts referenced for materialization.

Operand 1 must point to a non-bound program or a bound program. Operand 1 should not point to a bound service program or a Java™ program or else an error will occur when an attempt is made to invoke the invocation exit program.

If an invocation exit program currently exists for the requesting invocation, it is replaced, and no exception is signaled. The invocation exit set by this instruction is implicitly cleared when the invocation exit program is given control, or the program which set the invocation exit completes execution.

If any invocations are to be destroyed due to normal exception handling actions, then those invocation exit programs associated with the invocations to be destroyed are given control before execution proceeds to the signaled exception handler.

The invocation exit program that is being destroyed is terminated, and its associated invocation execution is terminated. Termination of invocations due to a previous Signal Exception instruction, a Return From Exception instruction, a process termination, or a thread termination, is then resumed.

If a process phase is terminated and the process was not in termination phase, then the invocations are terminated. Invocation exit programs set for the terminated invocations are allowed to run. If an invocation to be terminated is an invocation exit program, then the following occurs:

  • If an invocation exit has been set for this invocation exit, it is allowed to run.
  • The invocation exit is terminated and the associated invocation is terminated (the invocation exit is not reinvoked).
Invocation exit programs for the remaining invocations to be terminated are then allowed to run.

Authorization Required

  • None

Lock Enforcement

  • None

Exceptions

  • 06 Addressing
    • 0601 Space Addressing Violation
    • 0602 Boundary Alignment
    • 0603 Range
  • 08 Argument/Parameter
    • 0801 Parameter Reference Violation
  • 10 Damage Encountered
    • 1004 System Object Damage State
    • 1044 Partial System Object Damage
  • 1C Machine-Dependent
    • 1C03 Machine Storage Limit Exceeded
  • 20 Machine Support
    • 2002 Machine Check
    • 2003 Function Check
  • 22 Object Access
    • 2208 Object Compressed
    • 220B Object Not Available
  • 2E Resource Control Limit
    • 2E01 User Profile Storage Limit Exceeded
  • 32 Scalar Specification
    • 3201 Scalar Type Invalid
  • 36 Space Management
    • 3601 Space Extension/Truncation
  • 44 Protection Violation
    • 4401 Object Domain or Hardware Storage Protection Violation