From 05e636b4a5af8d792dbc519ffb80c052dcf892b5 Mon Sep 17 00:00:00 2001 From: Patrick LeBlanc Date: Wed, 31 Jul 2019 14:16:50 -0500 Subject: [PATCH] Fixed a bug in new ownership stuff. Not sure why this didn't happen everytime. When called through the dtor, a fcns param is a reference to a thing it deletes, so segfault. But only sometimes. --- src/Ownership.cpp | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/src/Ownership.cpp b/src/Ownership.cpp index dfa3a8e3f..8074be268 100644 --- a/src/Ownership.cpp +++ b/src/Ownership.cpp @@ -142,7 +142,6 @@ void Ownership::releaseOwnership(const bf::path &p, bool isDtor) logger->log(LOG_DEBUG, "Ownership::releaseOwnership(): told to disown %s, but do not own it", p.string().c_str()); return; } - ownedPrefixes.erase(it); if (isDtor) { @@ -152,7 +151,9 @@ void Ownership::releaseOwnership(const bf::path &p, bool isDtor) DELETE(p, "FLUSHING"); return; } - + else + ownedPrefixes.erase(it); + s.unlock(); volatile bool done = false;