diff --git a/src/test/DoS_tests.cpp b/src/test/DoS_tests.cpp --- a/src/test/DoS_tests.cpp +++ b/src/test/DoS_tests.cpp @@ -100,7 +100,7 @@ static void AddRandomOutboundPeer(const Config &config, std::vector> &vNodes, PeerLogicValidation &peerLogic) { - CAddress addr(ip(insecure_rand_ctx.randbits(32)), NODE_NONE); + CAddress addr(ip(g_insecure_rand_ctx.randbits(32)), NODE_NONE); vNodes.emplace_back(new CNode(id++, ServiceFlags(NODE_NETWORK), 0, INVALID_SOCKET, addr, 0, 0, CAddress(), "", /*fInboundIn=*/false)); diff --git a/src/test/test_bitcoin.h b/src/test/test_bitcoin.h --- a/src/test/test_bitcoin.h +++ b/src/test/test_bitcoin.h @@ -22,26 +22,26 @@ */ #define NULLPTR(T) static_cast(nullptr) -extern FastRandomContext insecure_rand_ctx; +thread_local extern FastRandomContext g_insecure_rand_ctx; static inline void SeedInsecureRand(bool deterministic = false) { - insecure_rand_ctx = FastRandomContext(deterministic); + g_insecure_rand_ctx = FastRandomContext(deterministic); } static inline uint32_t InsecureRand32() { - return insecure_rand_ctx.rand32(); + return g_insecure_rand_ctx.rand32(); } static inline uint256 InsecureRand256() { - return insecure_rand_ctx.rand256(); + return g_insecure_rand_ctx.rand256(); } static inline uint64_t InsecureRandBits(int bits) { - return insecure_rand_ctx.randbits(bits); + return g_insecure_rand_ctx.randbits(bits); } static inline uint64_t InsecureRandRange(uint64_t range) { - return insecure_rand_ctx.randrange(range); + return g_insecure_rand_ctx.randrange(range); } static inline bool InsecureRandBool() { - return insecure_rand_ctx.randbool(); + return g_insecure_rand_ctx.randbool(); } /** diff --git a/src/test/test_bitcoin.cpp b/src/test/test_bitcoin.cpp --- a/src/test/test_bitcoin.cpp +++ b/src/test/test_bitcoin.cpp @@ -15,6 +15,7 @@ #include #include #include +#include #include #include #include @@ -45,9 +46,7 @@ g_connman->vNodes.clear(); } -FastRandomContext insecure_rand_ctx; - -extern void noui_connect(); +thread_local FastRandomContext g_insecure_rand_ctx; std::ostream &operator<<(std::ostream &os, const uint256 &num) { os << num.ToString();