refactor: Replace RecursiveMutex with Mutex in Shutdown()

pull/764/head
Hennadii Stepanov 4 years ago
parent 0fc6ea216c
commit 1a9ef1d398
No known key found for this signature in database
GPG Key ID: 410108112E7EA81F

@ -18,6 +18,7 @@
#include <compat/sanity.h>
#include <consensus/validation.h>
#include <fs.h>
#include <hash.h>
#include <httprpc.h>
#include <httpserver.h>
#include <index/blockfilterindex.h>
@ -42,6 +43,7 @@
#include <script/sigcache.h>
#include <script/standard.h>
#include <shutdown.h>
#include <sync.h>
#include <timedata.h>
#include <torcontrol.h>
#include <txdb.h>
@ -53,8 +55,6 @@
#include <util/threadnames.h>
#include <util/translation.h>
#include <validation.h>
#include <hash.h>
#include <validationinterface.h>
#include <walletinitinterface.h>
@ -171,11 +171,10 @@ void Interrupt(NodeContext& node)
void Shutdown(NodeContext& node)
{
static Mutex g_shutdown_mutex;
TRY_LOCK(g_shutdown_mutex, lock_shutdown);
if (!lock_shutdown) return;
LogPrintf("%s: In progress...\n", __func__);
static RecursiveMutex cs_Shutdown;
TRY_LOCK(cs_Shutdown, lockShutdown);
if (!lockShutdown)
return;
/// Note: Shutdown() must be able to handle cases in which initialization failed part of the way,
/// for example if the data directory was found to be locked.

Loading…
Cancel
Save