From 961f2b0a0bbba6df08465f91693f90028238f0c0 Mon Sep 17 00:00:00 2001 From: momo5502 Date: Mon, 3 Oct 2016 02:22:58 +0200 Subject: [PATCH] Fix bitmrc deadlock --- src/Components/Modules/BitMessage.cpp | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/src/Components/Modules/BitMessage.cpp b/src/Components/Modules/BitMessage.cpp index d51cee33..181cbb92 100644 --- a/src/Components/Modules/BitMessage.cpp +++ b/src/Components/Modules/BitMessage.cpp @@ -185,7 +185,14 @@ namespace Components BitMessage::~BitMessage() { - delete BitMessage::BMClient; + BitMessage::Save(); + + // We have to do that in another thread, as sometims the terminating thread already holds the mutex lock... + std::thread([&] () + { + delete BitMessage::BMClient; + }).join(); + BitMessage::BMClient = nullptr; }