Your Browser is not longer supported

Please use Google Chrome, Mozilla Firefox or Microsoft Edge to view the page correctly
Loading...

{{viewport.spaceProperty.prod}}

RPOFEI - Send POSSIG signal

&pagelevel(3)&pagelevel

General

Application area:

(Optimized) eventing; see "Eventing"

Macro type:

Type R; see "R-type macros"


Forward eventing (FEV) is an optimized form of synchronous eventing. FEV avoids the need for repeated validation of the operands when either POSSIG or SOLSIG calls to a particular event item are repeated. Instead, an event list, EVENTLST, is set up and in order to send signals to an event item (a POSSIG function), for example, a POSSIG entry is made in the list. The entry may be explicitly deleted again (DELFEI).
The task of the calling program must be enabled for the event item (using ENAEI).

Macro description

The macro RPOFEI refers to a POSSIG entry in the EVENTLST and initiates the sending of a signal (event) to an event item.
This signal terminates the wait state of the requesting task, or starts a contingency routine in this task, if this was specified in a SOLSIG call.

Macro format and description of operands

RPOFEI

REFNUM=(r)

REFNUM=(r)
Identifies a register which (directly) holds the reference number of the POSSIG entry.

(r)
Register containing the reference number.

Return information and error flags

During the execution of the macro, register R1 contains the reference number. Register R0 is overwritten with an internal function code.

R15:

+---------------+
|   |   |   |   |
|b|b| | | | |a|a|
+---------------+

A structured return code relating to the execution of the macro is transferred in register R15 (aa = primary return code, bb = secondary return code).

X'bb'

X'aa'

Meaning

X'00'

X'00'

Normal execution. The signal was sent

X'04'

X'04'

No action: incorrect reference number (POSSIG entry already deleted?)

X'28'

X'04'

No action: the maximum permitted number of requests in the POSSIG queue was
exceeded