Call Release to remove a task that has been paused, or to keep a task from being paused. Although a pause element can be used multiple times to pause a task, a pause element token can be used to successfully pause and release a task only once. Each time a pause element is used, the system generates a new PET to identify the pause element. The system returns the new updated PET on calls to the Pause and Transfer services.
The requirements for the caller are:
Environmental factor | Requirement |
---|---|
Minimum authorization: | Problem state and any PSW key. |
Dispatchable unit mode: |
|
Cross memory mode: |
|
AMODE: | 31-bit addressing mode. |
ASC mode: | Primary mode. |
Interrupt status: | Enabled or disabled for I/O and external interrupts. |
Locks: | May hold the CPU, local or CMS lock. |
Control parameters: | Must be in the primary address space and addressable by the caller. |
Either link the calling program's object code with the linkable stub routine (IEACSS from SYS1.CSSLIB), or load the calling program and then call the service. The high-level language (HLL) definitions for the callable service are:
HLL Definition | Description |
---|---|
IEAASM | 390 Assembler declarations |
IEAC | C/390 and C++/390 declarations |
When the calling program specifies auth_level=IEA_UNAUTHORIZED, the caller must be in task mode and can only release another task in its home address space. All pause element tokens (PETs) used when auth_level=IEA_UNAUTHORIZED must have been obtained using an authorization level of IEA_UNAUTHORIZED.
Some callers depend on register contents remaining the same before and after issuing a service. If the system changes the contents of registers on which the caller depends, the caller must save them before issuing the service, and restore them after the system returns control.
None.
Syntax | Description |
---|---|
CALL IEAVRLS | |
The parameters are explained as follows:
Contains the return from the Release service.
Indicates the maximum authorization level that the specified pause element was allocated with. IEAASM and IEAC define constants IEA_UNAUTHORIZED and IEA_AUTHORIZED, which the calling program can use. The following levels are supported:
Variable | Value (HEX) | Meaning |
---|---|---|
IEA_UNAUTHORIZED | 0 | The pause element being released must have been allocated with auth_level=IEA_UNAUTHORIZED. |
IEA_AUTHORIZED | 1 | The pause element being released must have been allocated with auth_level=IEA_AUTHORIZED. |
Contains the pause element token that identifies the pause element used to pause the task. If the PET identifies a pause element that has not been paused (that is, the task has not been paused), the task will not be paused. However, the value specified in target_du_release_code will be returned to the caller of Pause.
Contains the release code returned to the caller of Pause or Transfer service that used (or will use) the same PET to pause a task. If your program is not using this code for communication, set this field to zero.
None.
When the service returns control to the resource manager, GPR 15 and return_code contain a hexadecimal return code.
Return code in: |
Meaning and Action |
---|---|
00 (00) IEA_SUCCESS |
Meaning: Successful completion. Action: None. |
04 (04) IEA_PE_TOKEN_BAD |
Meaning: The specified pause
element token is not valid. The system rejects the service call. Action: Check the calling program for a probable coding error. Correct the program and rerun it. |
08 (08) IEA_PE_TOKEN_STALE |
Meaning: The specified pause
element token is stale; that is, it was valid but has been used on
the Pause or Transfer service. This service requires the updated
PET be returned on Pause or Transfer. Action: Check the calling program for a probable coding error. Correct the program and rerun it. |
16 (10) IEA_SLEEP_DISRUPTED |
Meaning: RTM has terminated
the task; no release is necessary. Action: None |
20 (14) IEA_SPACE_TERMINATING |
Meaning: The address space
that contains the task that is terminating; no release is necessary. Action: None |
24 (18) IEA_LOCK_HELD |
Meaning: Program error.
The caller is holding one o r more locks; no locks must be held.
The system rejects the service call. Action: Check the calling program for a probable coding error. Correct the program and rerun it. |
32 (20) IEA_PE_BAD_STATE |
Meaning: Program error.
The pause element associated with the pause element token specified
is invalid or has already been prereleased. Action: Check the calling program for a probable coding error. Correct the program and rerun it. |
36 (24) IEA_UNSUPPORTED_MVS_RELEASE |
Meaning: Environmental error.
The system release does not support this service. The system rejects
the service call. Action: Run the program on a system that supports the service. |
40 (28) IEA_INVALID_AUTHCODE |
Meaning: Program error.
The auth_level value specified in the call is not valid. The
system rejects the service call. Action: Check the calling program for a probable coding error. Correct the program and rerun it. |
44 (2C) IEA_INVALID_MODE |
Meaning: Program error.
The calling program is not in primary ASC mode, which this service
requires. The system rejects the service call. Action: Check the calling program for a probable coding error. Correct the program and rerun it. |
60 (3C) IEA_AUTH_TOKEN |
Meaning: Program error.
The caller specified auth_level=UNAUTHORIZED, but the pause element
token was allocated with auth_level=AUTHORIZED. The system rejects
the service call. Action: Program error. The specified pause element token is not valid. The system rejects the service call. |
64 (40) IEA_PE_NOT_HOME |
Meaning: Program error.
The caller specified auth_level=UNAUTHORIZED, but the pause element
token was for a pause element allocated to another address. Action: Check the calling program for a probable coding error. Correct the program and rerun it. |
4095 (FFF) IEA_UNEXPECTED_ERROR |
Meaning: This service routine
encountered an unexpected error. The system rejects this service
request. Action: Contact IBM® support. |