TMF Application Programmer's Guide (G06.24+)

TMF Programming Environment
HP NonStop TMF Application Programmer’s Guide522419-004
1-8
The Nil State
The Nil State
Requesters and servers start execution with their current transaction in the nil state.
If a process attempts to lock or change the content of an audited file when 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).
When a requester initiates a transaction, the current transaction for that requester
automatically changes from the nil state to the transaction identifier of the new
transaction.
The Current Transaction Identifier
When a requester sends a work request to a server process, the value of the
requesters current transaction at the time of the transmission is extracted and used as
the transaction identifier of the particular work request. Upon receiving the message,
the server automatically inherits the transaction identifier as its current transaction.
Note that a process can always access nonaudited files regardless of the state of its
current transaction.
When a process executes an ENDTRANSACTION or ABORTTRANSACTION
statement, its current transaction automatically reverts to the nil state. This is also true
if an attempted BEGINTRANSACTION fails.
Excluding a Server from a TMF Transaction
There are times when a requester must delegate work to a server and yet exclude that
server from the bounds of a TMF transaction; it does so by either:
Setting the current transaction to the nil state before sending the work request to
the server
Opening the server with a prior designation that the transaction identifier be
omitted from all communication with the server
There are two reasons why a requester would want to exclude a server from a
transaction:
To enhance performance within a network environment
To eliminate unnecessary dependencies between processes