From 95ca36d02d6404b2bb7d8d71da2b60abf7cb7201 Mon Sep 17 00:00:00 2001 From: crypto-ape <43807588+crypto-ape@users.noreply.github.com> Date: Tue, 2 Apr 2019 12:40:13 +0200 Subject: [PATCH] properly cleanup previous current thread object --- src/thread/thread.cpp | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/src/thread/thread.cpp b/src/thread/thread.cpp index 0d1a9aa..69d4bbf 100644 --- a/src/thread/thread.cpp +++ b/src/thread/thread.cpp @@ -77,6 +77,7 @@ namespace fc { try { set_thread_name(name.c_str()); // set thread's name for the debugger to display this->my = new thread_d( *this, notifier ); + cleanup(); current_thread() = this; p->set_value(); exec(); @@ -126,8 +127,10 @@ namespace fc { } void thread::cleanup() { - delete current_thread(); - current_thread() = nullptr; + if ( current_thread() ) { + delete current_thread(); + current_thread() = nullptr; + } } const string& thread::name()const