mirror of
https://github.com/bitcoin/bitcoin.git
synced 2026-02-16 02:18:53 +00:00
Avoid crashes at shutdown due to printf() in global destructors.
This commit is contained in:
parent
d37a2fd808
commit
b3f8f6ab94
10
src/util.cpp
10
src/util.cpp
@ -194,8 +194,14 @@ inline int OutputDebugStringF(const char* pszFormat, ...)
|
||||
if (fileout)
|
||||
{
|
||||
static bool fStartedNewLine = true;
|
||||
static boost::mutex mutexDebugLog;
|
||||
boost::mutex::scoped_lock scoped_lock(mutexDebugLog);
|
||||
|
||||
// This routine may be called by global destructors during shutdown.
|
||||
// Since the order of destruction of static/global objects is undefined,
|
||||
// allocate mutexDebugLog on the heap the first time this routine
|
||||
// is called to avoid crashes during shutdown.
|
||||
static boost::mutex* mutexDebugLog = NULL;
|
||||
if (mutexDebugLog == NULL) mutexDebugLog = new boost::mutex();
|
||||
boost::mutex::scoped_lock scoped_lock(*mutexDebugLog);
|
||||
|
||||
// Debug print useful for profiling
|
||||
if (fLogTimestamps && fStartedNewLine)
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user