aboutsummaryrefslogtreecommitdiff
path: root/external
diff options
context:
space:
mode:
Diffstat (limited to 'external')
-rw-r--r--external/db_drivers/liblmdb/mdb.c16
-rw-r--r--external/easylogging++/easylogging++.h4
2 files changed, 11 insertions, 9 deletions
diff --git a/external/db_drivers/liblmdb/mdb.c b/external/db_drivers/liblmdb/mdb.c
index 32e225163..d778037b0 100644
--- a/external/db_drivers/liblmdb/mdb.c
+++ b/external/db_drivers/liblmdb/mdb.c
@@ -1953,13 +1953,15 @@ static void
mdb_cursor_unref(MDB_cursor *mc)
{
int i;
- if (!mc->mc_snum || !mc->mc_pg[0] || IS_SUBP(mc->mc_pg[0]))
- return;
- for (i=0; i<mc->mc_snum; i++)
- mdb_page_unref(mc->mc_txn, mc->mc_pg[i]);
- if (mc->mc_ovpg) {
- mdb_page_unref(mc->mc_txn, mc->mc_ovpg);
- mc->mc_ovpg = 0;
+ if (mc->mc_txn->mt_rpages[0].mid) {
+ if (!mc->mc_snum || !mc->mc_pg[0] || IS_SUBP(mc->mc_pg[0]))
+ return;
+ for (i=0; i<mc->mc_snum; i++)
+ mdb_page_unref(mc->mc_txn, mc->mc_pg[i]);
+ if (mc->mc_ovpg) {
+ mdb_page_unref(mc->mc_txn, mc->mc_ovpg);
+ mc->mc_ovpg = 0;
+ }
}
mc->mc_snum = mc->mc_top = 0;
mc->mc_pg[0] = NULL;
diff --git a/external/easylogging++/easylogging++.h b/external/easylogging++/easylogging++.h
index 3395c2cb2..d28152667 100644
--- a/external/easylogging++/easylogging++.h
+++ b/external/easylogging++/easylogging++.h
@@ -1104,8 +1104,8 @@ namespace el {
ELPP_UNUSED(ms);
# endif // ELPP_ASYNC_LOGGING
}
- typedef std::mutex Mutex;
- typedef std::lock_guard<std::mutex> ScopedLock;
+ typedef std::recursive_mutex Mutex;
+ typedef std::lock_guard<std::recursive_mutex> ScopedLock;
# endif // !ELPP_USE_STD_THREADING
#else
namespace internal {