mirror of
https://git.openldap.org/openldap/openldap.git
synced 2025-12-24 16:49:39 -05:00
Cleaner "Support mdb_txn_abort(a reset txn)".
Redo 8a562f560e so !mt_dbxs indicates
"txn was reset", so mt_numdbs gets one magic value instead of two.
This commit is contained in:
parent
151c416b46
commit
f45d40a88b
1 changed files with 3 additions and 2 deletions
|
|
@ -1871,7 +1871,7 @@ mdb_txn_renew(MDB_txn *txn)
|
|||
{
|
||||
int rc;
|
||||
|
||||
if (!txn || txn->mt_numdbs || !(txn->mt_flags & MDB_TXN_RDONLY))
|
||||
if (!txn || txn->mt_dbxs) /* A reset txn has mt_dbxs==NULL */
|
||||
return EINVAL;
|
||||
|
||||
if (txn->mt_env->me_flags & MDB_FATAL_ERROR) {
|
||||
|
|
@ -2014,7 +2014,8 @@ mdb_txn_reset0(MDB_txn *txn)
|
|||
if (!(env->me_flags & MDB_NOTLS))
|
||||
txn->mt_u.reader = NULL; /* txn does not own reader */
|
||||
}
|
||||
txn->mt_numdbs = 0; /* mark txn as reset, do not close DBs again */
|
||||
txn->mt_numdbs = 0; /* close nothing if called again */
|
||||
txn->mt_dbxs = NULL; /* mark txn as reset */
|
||||
} else {
|
||||
MDB_page *dp;
|
||||
|
||||
|
|
|
|||
Loading…
Reference in a new issue