mirror of
https://github.com/bitcoin/bitcoin.git
synced 2025-01-25 10:43:19 -03:00
Merge #19111: Limit scope of all global std::once_flag
fa9c675591
Limit scope of all global std::once_flag (MarcoFalke) Pull request description: `once_flag` is a helper (as the name might suggest) to execute a callable only once. Thus, the scope of the flag does never need to extend beyond where the callable is called. Typically this is function scope. Move all the flags to function scope to * simplify code review * avoid mistakes where similarly named flags are accidentally exchanged * avoid polluting the global scope ACKs for top commit: hebasto: ACKfa9c675591
, tested on Linux Mint 19.3 (x86_64). promag: Code review ACKfa9c675591
. Tree-SHA512: 095a0c11d93d0ddcb82b3c71676090ecc7e3de3d5e7a2a63ab2583093be279242acac43523bbae2060b4dcfa8f92b54256a0e91fbbae78fa92d2d49e9db62e57
This commit is contained in:
commit
1f7fe59460
3 changed files with 4 additions and 5 deletions
|
@ -22,8 +22,6 @@
|
|||
|
||||
static RecursiveMutex cs_rpcWarmup;
|
||||
static std::atomic<bool> g_rpc_running{false};
|
||||
static std::once_flag g_rpc_interrupt_flag;
|
||||
static std::once_flag g_rpc_stop_flag;
|
||||
static bool fRPCInWarmup GUARDED_BY(cs_rpcWarmup) = true;
|
||||
static std::string rpcWarmupStatus GUARDED_BY(cs_rpcWarmup) = "RPC server started";
|
||||
/* Timer-creating functions */
|
||||
|
@ -295,6 +293,7 @@ void StartRPC()
|
|||
|
||||
void InterruptRPC()
|
||||
{
|
||||
static std::once_flag g_rpc_interrupt_flag;
|
||||
// This function could be called twice if the GUI has been started with -server=1.
|
||||
std::call_once(g_rpc_interrupt_flag, []() {
|
||||
LogPrint(BCLog::RPC, "Interrupting RPC\n");
|
||||
|
@ -305,6 +304,7 @@ void InterruptRPC()
|
|||
|
||||
void StopRPC()
|
||||
{
|
||||
static std::once_flag g_rpc_stop_flag;
|
||||
// This function could be called twice if the GUI has been started with -server=1.
|
||||
assert(!g_rpc_running);
|
||||
std::call_once(g_rpc_stop_flag, []() {
|
||||
|
|
|
@ -29,7 +29,6 @@
|
|||
#endif
|
||||
|
||||
LockedPoolManager* LockedPoolManager::_instance = nullptr;
|
||||
std::once_flag LockedPoolManager::init_flag;
|
||||
|
||||
/*******************************************************************************/
|
||||
// Utilities
|
||||
|
|
|
@ -221,7 +221,8 @@ public:
|
|||
/** Return the current instance, or create it once */
|
||||
static LockedPoolManager& Instance()
|
||||
{
|
||||
std::call_once(LockedPoolManager::init_flag, LockedPoolManager::CreateInstance);
|
||||
static std::once_flag init_flag;
|
||||
std::call_once(init_flag, LockedPoolManager::CreateInstance);
|
||||
return *LockedPoolManager::_instance;
|
||||
}
|
||||
|
||||
|
@ -234,7 +235,6 @@ private:
|
|||
static bool LockingFailed();
|
||||
|
||||
static LockedPoolManager* _instance;
|
||||
static std::once_flag init_flag;
|
||||
};
|
||||
|
||||
#endif // BITCOIN_SUPPORT_LOCKEDPOOL_H
|
||||
|
|
Loading…
Add table
Reference in a new issue