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