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 theTPNOTRANflag) 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