11.4.2 Invalid Descriptor Errors
A call descriptor can become invalid and, if referenced, cause an error to be returned to tperrno(5)
in either of two situations:
- A call descriptor is used to retrieve a message, which may be a
failed message (
TPEBADDESC
). - An attempt is made to reuse a stale call descriptor
(
TPEBADDESC
).
A call descriptor might become stale, for example, in the following circumstances:
- When the application calls
tpabort()
ortpcommit()
and transaction replies (sent without theTPNOTRAN
flag) remain to be retrieved. - A transaction times out. When the timeout is reported by a call to
tpgetrply()
, no message is retrieved using the specified descriptor and the descriptor becomes stale.
Parent topic: Call Descriptor Errors