TMF Application Programmer's Guide (G06.24+)
Designing Single-Threaded Processes
HP NonStop TMF Application Programmer’s Guide—522419-004
2-14
The Implications of REPLY
A server is only allowed to call ABORTTRANSACTION when it is participating in an 
active transaction: that is, when the server’s current transaction is not nil. Once the 
server issues a reply to the requester, the server no longer has the ability to abort the 
transaction. If a server calls ABORTTRANSACTION when the current transaction is in 
the nil state, the call completes with an error number 75 (no transaction identifier) in 
the status variable.
Backout and Volume Recovery Anomalies
Anomalies occur when the backout process undoes certain changes made by an 
aborting transaction, or when volume recovery undoes certain changes made by an 
aborted or incomplete transaction.
•
The insertion of a record at the end of an unstructured file is not undone. The 
inserted record stays in place, and the end-of-file (EOF) is unchanged. This 
procedure preserves records that other transactions might have written to the end 
of the file after the aborting transaction.
•
The insertion of a record into an entry-sequenced file is undone by rewriting the 
record with a length of 0 bytes. This procedure preserves the positioning of 
records that other transactions might have inserted into the file after the aborting 
transaction.
•
The insertion of a record at the end of a relative file is undone by deleting the 
record, but leaving the EOF unchanged. This procedure preserves records that 
other transactions might have written to the end of the file after the aborting 
transaction.
The Implications of REPLY
A reply message from a server indicates that the server is through with the work 
request. Furthermore, unless the server has previously called ABORTTRANSACTION, 
a reply message signifies that the server has agreed to commit the transaction. The 
server will not be notified of the transaction’s eventual outcome.
When a single-threaded server issues a reply, the server’s current transaction reverts 
to the nil state. If the server attempts to lock or change the content of an audited file 
while the current transaction is in the nil state, the file system rejects the particular I/O 
request with a condition code of CCL and an error number 75 (no transaction 
identifier). This situation will persist until the server either accepts another work request 
from $RECEIVE or (acting as a requester) initiates a new transaction by issuing a 
BEGINTRANSACTION call.
NonStop Servers
In the TMF environment, there is no need for NonStop servers. 
If a server process fails while working on one or more transactions, TMF automatically 
aborts the affected transactions. When the associated requesters learn that their 










