If the CALLRTM macro specifies TYPE=MEMTERM, system processing
is directed toward an address space. The following locking and work
area requirements apply to this form of CALLRTM:
- If the ASID parameter is nonzero, the specified address space is abnormally
terminated. The caller need not be disabled or own any locks. The
caller must pass the address of a 72-byte work area in GPR 13.
- If the ASID parameter is specified as 0 or is omitted, the current
address space is abnormally terminated. The caller need not be disabled
or own any locks. The caller must pass the address of a 72-byte work
area in GPR 13.
Note: The required work area is not the
standard 72-byte save area. The system stores into the first 8 bytes
of the area, which are commonly used for save area chaining. If you
pass the save area in register 13 that you are using to link your
program to your caller's, you will not be able to get back to your
caller.
Because TYPE=MEMTERM processing circumvents all task recovery and
task resource manager processing, its use is restricted to a select
group of routines that can determine that task recovery and task resource
manager clean-up are either not warranted or will not successfully
operate in the address space being terminated. An alternative way
to terminate an address space is to use CALLRTM TYPE=ABTERM and specify
the job step TCB.