Must do dlist_free before releasing Wmutex

mdb.RE/0.9
Howard Chu 11 years ago committed by Hallvard Furuseth
parent 9eede0b103
commit df9da7c7be
  1. 7
      libraries/liblmdb/mdb.c

@ -2778,6 +2778,10 @@ mdb_txn_reset0(MDB_txn *txn, const char *act)
env->me_pghead = NULL; env->me_pghead = NULL;
env->me_pglast = 0; env->me_pglast = 0;
if (!(env->me_flags & MDB_WRITEMAP)) {
mdb_dlist_free(txn);
}
if (!txn->mt_parent) { if (!txn->mt_parent) {
if (mdb_midl_shrink(&txn->mt_free_pgs)) if (mdb_midl_shrink(&txn->mt_free_pgs))
env->me_free_pgs = txn->mt_free_pgs; env->me_free_pgs = txn->mt_free_pgs;
@ -2790,9 +2794,6 @@ mdb_txn_reset0(MDB_txn *txn, const char *act)
mdb_cursors_close(txn, 0); mdb_cursors_close(txn, 0);
if (!(env->me_flags & MDB_WRITEMAP)) {
mdb_dlist_free(txn);
}
mdb_midl_free(pghead); mdb_midl_free(pghead);
if (txn->mt_parent) { if (txn->mt_parent) {

Loading…
Cancel
Save