Open System Services Programmer's Guide

If a thread terminates or is destroyed while it has an active transaction, that transaction is then
inaccessible from the process. If cancellation is a possibility, use exception handlers for
pthread_cancel_e. Alternatively, use the pthread_cleanup_push() and
pthread_cleanup_pop() functions to ensure that the transaction is terminated if the thread
exits or is cancelled.
If a transaction is aborted by either an operator, network partition, or another process, an
error is reported when the initiating thread attempts to operate on the transaction.
A process using the TMF transaction jacket routines must not call:
The TMF procedures BEGINTRANSACTION, ABORTTRANSACTION, ENDTRANSACTION,
or RESUMETRANSACTION
The SQL/MP BEGIN-WORK and COMMIT-WORK procedures
A process can perform up to the default of 100 concurrent transactions, with up to 1000
transactions maximum declared using the put_setTMFConcurrentTransaction()
function. If the maximum is exceeded, a call to the put_setTMFConcurrentTransaction()
function fails, returning error number 83 (too many transactions).
Thread-Aware Enscribe Functions
Thread-aware Enscribe functions (Table 72 (page 420)) provide thread aware wrappers for Enscribe
procedure calls that enable an application to make use of Enscribe procedure calls without blocking
the process.
Thread-aware Enscribe functions are thread-blocking, like functions in the thread-aware library,
instead of process-blocking, like other Enscribe functions.
The parameters and the semantics for the new APIs are the same as those of Enscribe procedures,
which are described in the Guardian Procedure Calls Reference Manual.
The thread-aware APIs for Enscribe procedure calls can:
Open a file
Read and write
Cancel I/O operations issued on the file
Lock and unlock the file or a record
Execute device-dependent operations on an open file
Set device-dependent functions in an open file
These functions must be explicitly called. There are no macros to map to these functions from the
non-thread aware versions.
IMPORTANT: The POSIX User Thread (PUT) model library is the only 64-bit thread model
supported.
Table 72 Thread-Aware Enscribe Functions
DescriptionFunction
Starts a new transaction associated with the current process and current threadPUT_BEGINTRANSACTION_EXT_
1
Cancels the oldest incomplete operation on a file opened nowaitedPUT_CANCEL
Performs device-dependent I/O operationsPUT_CONTROL
Closes an open filePUT_FILE_CLOSE_
Establishes a communication path between an application process and a filePUT_FILE_OPEN_
420 Using the POSIX User Thread (PUT) Model Library