aboutsummaryrefslogtreecommitdiff
path: root/src/util
diff options
context:
space:
mode:
authormerge-script <fanquake@gmail.com>2024-04-29 21:37:49 +0800
committermerge-script <fanquake@gmail.com>2024-04-29 21:37:49 +0800
commit0c45d73f185d0f09c9b0b5a1749f405fb8125887 (patch)
tree2215a2d7ab35446d652120fe2f6ce39bdd7b1f19 /src/util
parent4d2d91a9e0f7a0647d5a45ed04bcbf6590ce8814 (diff)
parentfae0db555c12dca75fb09e5fa7bbabdf39b8c1df (diff)
downloadbitcoin-0c45d73f185d0f09c9b0b5a1749f405fb8125887.tar.xz
Merge bitcoin/bitcoin#29872: test: Add missing Assert(mock_time_in >= 0s) to SetMockTime
fae0db555c12dca75fb09e5fa7bbabdf39b8c1df refactor: Use chrono type for g_mock_time (MarcoFalke) fa382d3dd0592f3cbd6e1de791449f49e06dae86 test: Add missing Assert(mock_time_in >= 0s) to SetMockTime (MarcoFalke) Pull request description: Seems odd to have the assert in the *deprecated* function, but not in the other. Fix this by adding it to the other, and by inlining the deprecated one. Also, use chrono type for the global mocktime variable. ACKs for top commit: davidgumberg: crACK https://github.com/bitcoin/bitcoin/pull/29872/commits/fae0db555c12dca75fb09e5fa7bbabdf39b8c1df stickies-v: ACK fae0db555c12dca75fb09e5fa7bbabdf39b8c1df Tree-SHA512: 630c2917422ff2a7fa307114f95f22ad3c205429ffe36e67f0b2650733e40c876289c1aecebe882a9123d3106db7606bd6eff067ed6e2ecb95765984d3fe8612
Diffstat (limited to 'src/util')
-rw-r--r--src/util/time.cpp16
1 files changed, 6 insertions, 10 deletions
diff --git a/src/util/time.cpp b/src/util/time.cpp
index 456662bd84..f08eb5300a 100644
--- a/src/util/time.cpp
+++ b/src/util/time.cpp
@@ -16,11 +16,11 @@
void UninterruptibleSleep(const std::chrono::microseconds& n) { std::this_thread::sleep_for(n); }
-static std::atomic<int64_t> nMockTime(0); //!< For testing
+static std::atomic<std::chrono::seconds> g_mock_time{}; //!< For testing
NodeClock::time_point NodeClock::now() noexcept
{
- const std::chrono::seconds mocktime{nMockTime.load(std::memory_order_relaxed)};
+ const auto mocktime{g_mock_time.load(std::memory_order_relaxed)};
const auto ret{
mocktime.count() ?
mocktime :
@@ -29,20 +29,16 @@ NodeClock::time_point NodeClock::now() noexcept
return time_point{ret};
};
-void SetMockTime(int64_t nMockTimeIn)
-{
- Assert(nMockTimeIn >= 0);
- nMockTime.store(nMockTimeIn, std::memory_order_relaxed);
-}
-
+void SetMockTime(int64_t nMockTimeIn) { SetMockTime(std::chrono::seconds{nMockTimeIn}); }
void SetMockTime(std::chrono::seconds mock_time_in)
{
- nMockTime.store(mock_time_in.count(), std::memory_order_relaxed);
+ Assert(mock_time_in >= 0s);
+ g_mock_time.store(mock_time_in, std::memory_order_relaxed);
}
std::chrono::seconds GetMockTime()
{
- return std::chrono::seconds(nMockTime.load(std::memory_order_relaxed));
+ return g_mock_time.load(std::memory_order_relaxed);
}
int64_t GetTime() { return GetTime<std::chrono::seconds>().count(); }