aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorChirag Davé <c@chirag.io>2016-05-04 21:40:28 -0700
committerChirag Davé <c@chirag.io>2016-05-09 08:20:58 -0700
commit326231611bda6808b579ab7286e471c36f62e98c (patch)
treeaf2d8a5040e60555e3f2f18e36acc6f1b2d3c193
parent88b77c7da0a672c89e24df37ea6e9085b4e2a05c (diff)
fReopenDebugLog and fRequestShutdown should be type sig_atomic_t
This allows access as an atomic variable in the presence of async interrupts. See issue #7433 for more details fixes: #7433
-rw-r--r--src/init.cpp2
-rw-r--r--src/util.cpp2
-rw-r--r--src/util.h6
3 files changed, 7 insertions, 3 deletions
diff --git a/src/init.cpp b/src/init.cpp
index b06f448a00..a9b3f88a32 100644
--- a/src/init.cpp
+++ b/src/init.cpp
@@ -125,7 +125,7 @@ static const char* FEE_ESTIMATES_FILENAME="fee_estimates.dat";
// shutdown thing.
//
-volatile bool fRequestShutdown = false;
+volatile sig_atomic_t fRequestShutdown = false;
void StartShutdown()
{
diff --git a/src/util.cpp b/src/util.cpp
index 00b75fbdbe..579be338e6 100644
--- a/src/util.cpp
+++ b/src/util.cpp
@@ -113,7 +113,7 @@ string strMiscWarning;
bool fLogTimestamps = DEFAULT_LOGTIMESTAMPS;
bool fLogTimeMicros = DEFAULT_LOGTIMEMICROS;
bool fLogIPs = DEFAULT_LOGIPS;
-volatile bool fReopenDebugLog = false;
+volatile sig_atomic_t fReopenDebugLog = false;
CTranslationInterface translationInterface;
/** Init OpenSSL library multithreading support */
diff --git a/src/util.h b/src/util.h
index ac099f1184..33db0f9e4a 100644
--- a/src/util.h
+++ b/src/util.h
@@ -28,6 +28,10 @@
#include <boost/signals2/signal.hpp>
#include <boost/thread/exceptions.hpp>
+#ifndef WIN32
+#include <signal.h>
+#endif
+
static const bool DEFAULT_LOGTIMEMICROS = false;
static const bool DEFAULT_LOGIPS = false;
static const bool DEFAULT_LOGTIMESTAMPS = true;
@@ -50,7 +54,7 @@ extern std::string strMiscWarning;
extern bool fLogTimestamps;
extern bool fLogTimeMicros;
extern bool fLogIPs;
-extern volatile bool fReopenDebugLog;
+extern volatile sig_atomic_t fReopenDebugLog;
extern CTranslationInterface translationInterface;
extern const char * const BITCOIN_CONF_FILENAME;