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

File System Procedures
HP NonStop TMF Application Programmer’s Guide522419-005
4-34
TMF_SUSPEND_
TMF_SUSPEND_
This procedure allows the calling process to relinquish its duties as
ENDTRANSACTION caller for the current transaction, provided the transaction was
begun by or resumed by the calling process. A successful call to TMF_SUSPEND_ is
referred to as suspending the transaction.
TMF_SUSPEND_ is also used by the calling process to relinquish control of a
transaction to which it has been joined; otherwise, the process that initiated the
transaction receives an error 730 when it tries to run ENDTRANSACTION.
The suspended transaction is no longer the current transaction of the calling process
and the calling process is no longer allowed to call ENDTRANSACTION for the
transaction (until it subsequently calls TMF_RESUME_). The TFILE entry previously
occupied by the suspended transaction is vacated.
A different process can resume the transaction by calling TMF_RESUME_. The
resuming process can reside in a different CPU than the process that began the
transaction, but it must reside in the same EXPAND node. The suspending process
must pass the transaction identifier to the process that subsequently resumes the
transaction. The transaction identifier is returned by TMF_SUSPEND_; alternatively, it
can be obtained by calling TMF_GET_TX_ID_ prior to calling TMF_SUSPEND_.
This procedure cannot be used for transactions that were not begun by or are not
currently resumed by the calling process.
If the calling process is the primary process of a NonStop process pair and the TFILE
is being checkpointed, the calling process should checkpoint the TFILE after calling
TMF_SUSPEND_ to modify the backup process’ TFILE accordingly.
Syntax for C Programmers
Syntax for TAL Programmers
#include <cextdecs(TMF_SUSPEND_)>
short TMF_SUSPEND_ ( long long _far *txid );
status := TMF_SUSPEND_ ( txid ) ! o
CALLABLE, EXTENSIBLE;