mirror of
https://github.com/bitcoin/bitcoin.git
synced 2024-11-20 10:38:42 +01:00
Merge #12750: Replace boost::call_once with std::call_once
57dae3fc4a
Replace boost::call_once with std::call_once (donaloconnor)
Pull request description:
This replaces boost::call_once with the C++11 std::call_once. The aim is to remove unnecessary boost code.
Tested on Windows/MSVC
Tree-SHA512: 5e98ea6e5052fffeaf29f845f4ecf1078b38cbb27671c5b7b6167e7f074a391e10020445107979d9e220d029bc9464fb8b2ccb0bea664eeb7af59a789c988b10
This commit is contained in:
commit
e0f7515f55
16
src/util.cpp
16
src/util.cpp
@ -159,10 +159,10 @@ instance_of_cinit;
|
||||
* the mutex).
|
||||
*/
|
||||
|
||||
static boost::once_flag debugPrintInitFlag = BOOST_ONCE_INIT;
|
||||
static std::once_flag debugPrintInitFlag;
|
||||
|
||||
/**
|
||||
* We use boost::call_once() to make sure mutexDebugLog and
|
||||
* We use std::call_once() to make sure mutexDebugLog and
|
||||
* vMsgsBeforeOpenLog are initialized in a thread-safe manner.
|
||||
*
|
||||
* NOTE: fileout, mutexDebugLog and sometimes vMsgsBeforeOpenLog
|
||||
@ -171,7 +171,7 @@ static boost::once_flag debugPrintInitFlag = BOOST_ONCE_INIT;
|
||||
* tested, explicit destruction of these objects can be implemented.
|
||||
*/
|
||||
static FILE* fileout = nullptr;
|
||||
static boost::mutex* mutexDebugLog = nullptr;
|
||||
static std::mutex* mutexDebugLog = nullptr;
|
||||
static std::list<std::string>* vMsgsBeforeOpenLog;
|
||||
|
||||
static int FileWriteStr(const std::string &str, FILE *fp)
|
||||
@ -182,7 +182,7 @@ static int FileWriteStr(const std::string &str, FILE *fp)
|
||||
static void DebugPrintInit()
|
||||
{
|
||||
assert(mutexDebugLog == nullptr);
|
||||
mutexDebugLog = new boost::mutex();
|
||||
mutexDebugLog = new std::mutex();
|
||||
vMsgsBeforeOpenLog = new std::list<std::string>;
|
||||
}
|
||||
|
||||
@ -194,8 +194,8 @@ fs::path GetDebugLogPath()
|
||||
|
||||
bool OpenDebugLog()
|
||||
{
|
||||
boost::call_once(&DebugPrintInit, debugPrintInitFlag);
|
||||
boost::mutex::scoped_lock scoped_lock(*mutexDebugLog);
|
||||
std::call_once(debugPrintInitFlag, &DebugPrintInit);
|
||||
std::lock_guard<std::mutex> scoped_lock(*mutexDebugLog);
|
||||
|
||||
assert(fileout == nullptr);
|
||||
assert(vMsgsBeforeOpenLog);
|
||||
@ -350,8 +350,8 @@ int LogPrintStr(const std::string &str)
|
||||
}
|
||||
else if (fPrintToDebugLog)
|
||||
{
|
||||
boost::call_once(&DebugPrintInit, debugPrintInitFlag);
|
||||
boost::mutex::scoped_lock scoped_lock(*mutexDebugLog);
|
||||
std::call_once(debugPrintInitFlag, &DebugPrintInit);
|
||||
std::lock_guard<std::mutex> scoped_lock(*mutexDebugLog);
|
||||
|
||||
// buffer if we haven't opened the log yet
|
||||
if (fileout == nullptr) {
|
||||
|
Loading…
Reference in New Issue
Block a user