From 80882ac6dd5b119d2bd31b956fc7e02d0167e308 Mon Sep 17 00:00:00 2001 From: moneromooo-monero Date: Sat, 30 Jan 2016 23:52:43 +0000 Subject: wallet: guard against exception in process_blocks If an exception occurs, the thread needs to be joined, or it will be deleted while still live, and terminate the process. --- src/wallet/wallet2.cpp | 2 ++ 1 file changed, 2 insertions(+) (limited to 'src/wallet') diff --git a/src/wallet/wallet2.cpp b/src/wallet/wallet2.cpp index d636b0e4b..f1c6c77eb 100644 --- a/src/wallet/wallet2.cpp +++ b/src/wallet/wallet2.cpp @@ -720,6 +720,8 @@ void wallet2::refresh(uint64_t start_height, uint64_t & blocks_fetched, bool& re catch (const std::exception&) { blocks_fetched += added_blocks; + if (pull_thread.joinable()) + pull_thread.join(); if(try_count < 3) { LOG_PRINT_L1("Another try pull_blocks (try_count=" << try_count << ")..."); -- cgit v1.2.3