Call Release to remove a task or SRB that has been paused, or to keep a task or SRB from being paused.
Although a pause element can be used multiple times to pause a task or SRB, a pause element token can be used to successfully pause and release a task or SRB 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: |
|
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: |
|
Control parameters: | Must be in the primary address space and addressable by the caller. |
Either link the object code of the calling program with the linkable stub routine (IEACSS from SYS1.CSSLIB) or have the calling program LOAD 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 |
Pause elements that are created with pause_element_auth_level=IEA_UNAUTHORIZED may only be used by callers in task mode and can only be released from a task in their home address space.
Key 1-15 or problem state callers must specify linkage as IEA_LINKAGE_SVC.
Release cannot be used by tasks that are higher in the task tree than the cross memory resource owning task (the top, or first, job step task in the address space).
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 IEAVRLS2 |
|
The parameters are explained as follows:
Contains the return from the Release service.
Contains the pause element token that identifies the pause element used to pause a task or SRB. You obtain the PET from the Allocate_Pause_Element service.
When you use a PET in a call to the Pause service, you cannot reuse the PET on a second call to Pause or on a call to Transfer. The Pause service returns a new PET in updated_pause_element_token. The new PET now identifies the pause element used to pause the task or SRB; use the new PET the next time you make a Pause request using the same Pause element.
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 or SRB. If your program is not using this code for communication, set this field to zero.
Specifies how the Release service routine is to be invoked. The following options are supported:
Variable | Value (hexadecimal) | Meaning |
---|---|---|
IEA_LINKAGE_SVC | 0 | The Release service routine will be invoked by an SVC linkage. This option can be used when in non-cross memory task mode, in any key, and either problem state or supervisor state. |
IEA_LINKAGE_BRANCH | 1 | The Release service routine will be invoked by a branch instruction. The caller must be in both key 0 and supervisor state. This option must be selected when in SRB mode. |
None.
When the service returns control to the resource manager, GPR 15 and return_code contain a hexadecimal return code.
Return code: Decimal (Hex) | Equate symbol | 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 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 or
SRB; no release is necessary. Action: None |
20 (14) | IEA_SPACE_TERMINATING | Meaning: The address space that contains
the task or SRB is terminating; no release is necessary. Action: None |
24 (18) | IEA_LOCK_HELD | Meaning: Program error.
The caller is holding one or more locks; other than the local lock,
CMS, or CPU lock, no locks may 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. |
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 was in Problem state or key 8, but the pause element token
was allocated with pause_element_auth_level=IEA_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 pause element token was for a pause element allocated with pause_element_auth_level=IEA_UNAUTHORIZED
to another address space. Action: Check the calling program for a probable coding error. Correct the program and rerun it. |
84 (54) | IEA_INVALID_LINKAGE | Meaning: Program error. The linkage value
specified 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. |
4095 (FFF) | IEA_UNEXPECTED_ERROR | Meaning: This service routine encountered
an unexpected error. The system rejects this service request. Action: Contact IBM® support. |