IEAVDPE2 — Deallocate_Pause_Element

Description

Deallocate_Pause_Element frees a pause element that is no longer needed.

Environment

The requirements for the caller are:

Environmental factor Requirement
Minimum authorization:
  • For LINKAGE=BRANCH, supervisor state and PSW key 0.
  • For LINKAGE=SVC:
    • Working with an IEA_AUTHORIZED pause element, supervisor state and PSW key 0-7.
    • Working with an IEA_UNAUTHORIZED pause element, problem state and any PSW key.
Dispatchable unit mode:
  • For LINKAGE=BRANCH: Task or SRB
  • For LINKAGE=SVC: Task
Cross memory mode:
  • For LINKAGE=BRANCH: Any PASN, any HASN, any SASN
  • For LINKAGE=SVC: PASN=HASN=SASN
AMODE: 31-bit addressing mode.
ASC mode: Primary mode.
Interrupt status: Enabled for I/O and external interrupts.
Locks:
  • For LINKAGE=BRANCH: The local lock may be held.
  • For LINKAGE=SVC: No locks may be held.
Control parameters: Must be in the primary address space and addressable by the caller.

Programming requirements

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

Restrictions

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.

Input register information

Before calling Deallocate_Pause_Element, the caller must ensure that the following general purpose registers (GPRs) contain the specified information:
Register
Contents
1
Address of the parameter address list.
13
Address of a 72-byte register save area.

Output register information

When control returns to the caller, the GPRs contain:
Register
Contents
0-1
Used as work registers by the system
2-13
Unchanged
14
Used as a work register by the system
15
Return code
When control returns to the caller, the access registers (ARs) contain:
Register
Contents
0-1
Used as work registers by the system
2-13
Unchanged
14-15
Used as a work register by the system

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.

Performance implications

None.

Syntax

Write the call as shown on the syntax diagram. You must code all parameters on the CALL statement in the order shown.

Syntax Description

CALL IEAVDPE2

 
,(return_code
,pause_element_token
,linkage)
 

Parameters

The parameters are explained as follows:

return_code
Returned parameter
  • Type: Integer
  • Character Set: N/A
  • Length: 4 bytes

Contains the return code from the Deallocate_Pause_Element service.

,pause_element_token
Supplied parameter
  • Type: Character string
  • Character Set: N/A
  • Length: 16 bytes

Contains the pause element token that identifies the pause element that is no longer needed.

linkage
Supplied parameter
  • Type: Integer
  • Character Set: N/A
  • Length: 4 bytes

Specifies how the Deallocate_Pause_Element service routine is to be invoked. The following options are supported:

Variable Value (hexadecimal) Meaning
IEA_LINKAGE_SVC 0 The Deallocate_Pause_Element 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 in either problem state or supervisor state.
IEA_LINKAGE_BRANCH 1 The Deallocate_Pause_Element 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.

ABEND codes

None.

Return codes

When the service returns control to the resource manager, GPR 15 and return_code contain a hexadecimal return code.

Return code in: Decimal (Hex) Equate symbol Meaning and Action
00 (00) IEA_SUCCESS Meaning: Successful completion

Action: None.

04 (04) IEA_PE_TOKEN_BAD Meaning: Program error. 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.

24 (18) IEA_LOCK_HELD Meaning: Program error. One or more locks other than the local lock are 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 specified pause element token is invalid or has already been paused. A paused PE must be released before it is deallocated. This return code also can indicate that the address space associated with the pause element is ending or has ended and that the system freed the pause element.

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.

64 (40) IEA_PE_NOT_HOME Meaning: Program error. The pause element token was for an unauthorized pause element allocated 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.