Berkeley DB: txn_close
Полезная информация


#include <db.h>

int txn_close(DB_TXNMGR *txnp);


The txn_close function detaches a process from the transaction environment specified by the DB_TXNMGR structure. All mapped regions are unmapped and any allocated resources are freed. Any uncommitted transactions are aborted.

In addition, if the dir argument to txn_open was NULL and dbenv was not initialized using db_appinit, all files created for this shared region will be removed, as if the txn_unlink function were called.

In multi-threaded applications, only a single thread may call the txn_close function.

The txn_close function returns the value of errno on failure, and 0 on success.


If a fatal error occurs in Berkeley DB, the txn_close function may fail and return DB_RUNRECOVERY, at which point all subsequent database calls will also return DB_RUNRECOVERY.

The txn_close function may fail and return errno for any of the errors specified for the following Berkeley DB and C library functions: abort(3), close(3), fcntl(3), fflush(3), fprintf(3), free(3), getpid(3), lock_vec, log_flush, memset(3), munmap(3), shmctl(3), shmdt(3), strerror(3), strlen(3), txn_abort, unlink(3), vfprintf(3), and vsnprintf(3).

See Also

txn_abort, txn_begin, txn_checkpoint, txn_close, txn_commit, txn_id, txn_open, txn_prepare, txn_stat and txn_unlink.