0001 TPSUSPEND(3)
0002 ============
0003 :doctype: manpage
0004
0005
0006 NAME
0007 ----
0008 tpresume - Resume global transaction
0009
0010
0011 SYNOPSIS
0012 --------
0013 #include <atmi.h>
0014
0015 int tpresume (TPTRANID *'tranid', long 'flags');
0016
0017 For XATMI client link with '-latmiclt -latmi -lubf -lnstd -lpthread -lrt -lm'
0018
0019 For XATMI server link with '-latmisrv|-latmisrvnomain|-latmisrvinteg -latmi -lubf -lnstd -lpthread -lrt -lm'
0020
0021 DESCRIPTION
0022 -----------
0023 Resume global transaction with given transaction data in 'tranid' parameter.
0024 'trandid' previously must be set by *tpsuspend(3)* call. To resume global transaction,
0025 XA sub-system must be open, by *tpopen(3)*. Technically it is possible that
0026 resume is done by other process than which did the suspend.
0027
0028 *Valid flags*
0029
0030 *TPTXNOOPTIM* Do not use cached known resource managers in 'tranid'. Thus having
0031 this flag set, this process even for previously involved RMs will perform
0032 xa transaction start and if that fails, then attempt *TM_JOIN*.
0033
0034 *TPTXTMSUSPEND* Indicates that 'tranid' was suspended (*tpsuspend(3)*) with this flag (i.e.
0035 which resulted in *TMSUSPEND* xa flag). And now transaction would be resumed
0036 with *TMRESUME* xa flag instead of *TMJOIN*. This applies to XA switches
0037 which support join operation and join is not disabled by *NOJOIN* flag
0038 in *NDRX_XA_FLAGS*.
0039
0040 RETURN VALUE
0041 ------------
0042 On success, *tpresume()* return zero; on error, -1 is returned,
0043 with *tperrno* set to indicate the error.
0044
0045 ERRORS
0046 ------
0047 Note that *tpstrerror()* returns generic error message plus custom message
0048 with debug info from last function call.
0049
0050 *TPEINVAL* Flags was not 0. Or 'tranid' was NULL.
0051
0052 *TPEPROTO* Global transaction is already started.
0053
0054 *TPESYSTEM* System failure occurred during serving. See logs i.e. user log, or
0055 debugs for more info. Could be the case if XA sub-system is not open by *tpopen()*.
0056 Transaction was expired at *tmsrv(8)*.
0057
0058 *TPEOS* System failure occurred during serving. See logs i.e. user log,
0059 or debugs for more info.
0060
0061 BUGS
0062 ----
0063 Report bugs to support@mavimax.com
0064
0065 SEE ALSO
0066 --------
0067 *tpsuspend(3)* *tpcommit(3)* *tpopen(3)* *tpclose(3)*
0068
0069 COPYING
0070 -------
0071 (C) Mavimax, Ltd
0072