OSI/AS Programming Manual
Fault Tolerance
APS Procedures Programming Concepts
056783 Tandem Computers Incorporated 2–23
Caution Never use AWAITIO or AWAITIOX in application processes that access the API. Doing so can interfere
with the correct operation of the API. Use MFM_AWAITIOX_ instead.
Do not call MFM_AWAITIOX_ to complete those APS procedure calls that never cause
file-system I/O operations. These calls need no completion, even if the connection is
operating in nowait mode. Table 2-11 shows which procedures cause file-system I/O
operations and which are purely local to your application process.
Limits on Outstanding Nowait Operations
In nowait mode, only a limited number of calls can be waiting for completion. For
each CEPI, you can have the following calls outstanding:
Not more than one call to APS_EVENT_RECEIVE_
Not more than one call to another APS procedure that causes file-system I/O
operations (see Table 2-11 for a list of such procedures)
Note that while waiting for an APS operation to complete, you can call file-system
procedures. To cancel a pending nowait operation, call MFM_CANCELREQ_ for the
CEPI.
The use of MFM_CANCELREQ_ is similar to the use of the file-system CANCELREQ
procedure. If more than one operation is pending, the API cancels the oldest one,
unless you use
tag
to identify the operation you wish to cancel. If you specify a tag,
and more than one operation with that tag is pending, the oldest operation with that
tag is canceled.
Note To cancel a nowait file-system request, call the CANCELREQ procedure as described in the
GUARDIAN 90 Operating System Programmer’s Guide and the System Procedure Calls Reference
Manual. Use MFM_CANCELREQ_ only to cancel nowait operations initiated by an APS procedure; it
cannot be used to cancel file-system requests.
Fault Tolerance Note that when the primary CPU for a TAPS process fails, all outstanding OSI/AS
connections using that TAPS process are lost. However, if your TAPS process is
running as a NonStop process pair, OSI/AS checkpoints the configuration
information. In that case, you need only call APS_DISCARD_ , then call either
APS_ASSOC_CONNECTREQ_ or APS_ASSOC_ATTACH_ , to reinitiate the
connection.
The same considerations are true for a failure of the primary CPU for the TSP or NSP
process being used for your connection. If the TSP and NSP processes are running as
NonStop process pairs, you need only reinitiate your OSI/AS connection.