From df9da7c7bef99fb96ddc070dda2d505a8b8e8143 Mon Sep 17 00:00:00 2001 From: Howard Chu Date: Sun, 20 Jul 2014 08:10:34 -0700 Subject: [PATCH] Must do dlist_free before releasing Wmutex --- libraries/liblmdb/mdb.c | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/libraries/liblmdb/mdb.c b/libraries/liblmdb/mdb.c index 1d52c4f..81fe205 100644 --- a/libraries/liblmdb/mdb.c +++ b/libraries/liblmdb/mdb.c @@ -2778,6 +2778,10 @@ mdb_txn_reset0(MDB_txn *txn, const char *act) env->me_pghead = NULL; env->me_pglast = 0; + if (!(env->me_flags & MDB_WRITEMAP)) { + mdb_dlist_free(txn); + } + if (!txn->mt_parent) { if (mdb_midl_shrink(&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); - if (!(env->me_flags & MDB_WRITEMAP)) { - mdb_dlist_free(txn); - } mdb_midl_free(pghead); if (txn->mt_parent) {