# txn_abort

`

###

    #include <db.h>

    int
    txn_abort(DB_TXN *tid);

# Description

The txn_abort function causes an abnormal termination of the transaction.

The log is played backwards and any necessary recovery operations are initiated through the recover function specified to DBENV->open. After the log processing is completed, all locks held by the transaction are released. As is the case for txn_commit, applications that require strict two-phase locking should not explicitly release any locks.

In the case of nested transactions, aborting the parent transaction causes all children of that transaction to be aborted.

The txn_abort function returns a non-zero error value on failure and 0 on success.

# Errors

The txn_abort function may fail and return a non-zero error for the following conditions:

EINVAL
  The transaction was already aborted.

The txn_abort function may fail and return a non-zero error for errors specified for other Berkeley DB and C library or system functions. If a catastrophic error has occurred, the txn_abort function may fail and return DB_RUNRECOVERY, in which case all subsequent Berkeley DB calls will fail in the same way.

# See Also

DBENV->set_tx_max, DBENV->set_tx_recover, DBENV->set_tx_timestamp, txn_abort, txn_begin, txn_checkpoint, txn_commit, txn_id, txn_prepare and txn_stat.`

Copyright Sleepycat Software