Note: ECBs used in WAIT_MVS requests must never be “hand posted”. They must
be posted using the MVS POST macro.
WAIT_MVS
DFHDSSRX [CALL,]
[CLEAR,]
[IN,
FUNCTION(WAIT_MVS),
{ECB_ADDRESS(name4 | (Ra)) | ECB_LIST_ADDRESS(name4 | (Ra)),}
PURGEABLE(YES|NO),
[INTERVAL(name4 | (Rn)),]
[RESOURCE_NAME(name16 | string | ’string’),]
[RESOURCE_TYPE(name8 | string | ’string’),]]
[TIME_UNIT(SECOND|MILLI_SECOND),]
[WLM_WAIT_TYPE,]
[OUT,
RESPONSE(name1 | *),
REASON(name1 | *)]
This command is threadsafe.
ECB_ADDRESS(name4 | (Ra))
specifies the address of the ECB to be waited on.
name4
The name of a location that contains an ECB address.
(Ra) A register that contains the address of an ECB.
ECB_LIST_ADDRESS(name4 | (Ra))
specifies the address of a list of ECB addresses to be waited on.
name4
The name of a location that contains an ECB address, possibly followed
by more ECB addresses. The last address word in the list has the
high-order bit set to 1.
(Ra) A register pointing to an address list as described above.
INTERVAL(name4 | (Rn))
specifies in seconds or milliseconds the time after which the task is
automatically resumed and given a RESPONSE value of ‘PURGED’ and a
REASON value of ‘TIMED_OUT’. The time unit used on the INTERVAL option
depends on the setting of the TIME_UNIT option.
The INTERVAL value overrides any time-out (DTIMOUT) value specified for the
transaction.
name4
The name of a 4-byte area, which is interpreted as a binary fullword
(Rn) A register containing the interval value, a binary fullword.
PURGEABLE(YES|NO)
specifies whether your code can cope with the request being abnormally
terminated as a result of a purge. There are four types of purge, as shown in
Table 18. Specifying PURGEABLE(NO) tells the dispatcher:
v To reject any attempt to PURGE the task
v To suppress the deadlock time-out (DTIMOUT) facility (if applicable to this
task) for the duration of this request.
Table 18. WAIT_MVS call - RESPONSE(PURGED)
REASON TASK_CANCELLED TIMED_OUT
Chapter 3. The user exit programming interface (XPI) 341