summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/mongo/util/tick_source_mock.h9
1 files changed, 5 insertions, 4 deletions
diff --git a/src/mongo/util/tick_source_mock.h b/src/mongo/util/tick_source_mock.h
index 9010a7edc28..dfbfdd03556 100644
--- a/src/mongo/util/tick_source_mock.h
+++ b/src/mongo/util/tick_source_mock.h
@@ -29,6 +29,7 @@
#pragma once
+#include "mongo/platform/atomic_word.h"
#include "mongo/util/tick_source.h"
#include "mongo/util/time_support.h"
@@ -45,7 +46,7 @@ template <typename D = Milliseconds>
class TickSourceMock final : public TickSource {
public:
TickSource::Tick getTicks() override {
- return _currentTicks;
+ return _currentTicks.load();
};
TickSource::Tick getTicksPerSecond() override {
@@ -58,17 +59,17 @@ public:
* Advance the ticks by the given amount of milliseconds.
*/
void advance(const D& duration) {
- _currentTicks += duration.count();
+ _currentTicks.fetchAndAdd(duration.count());
}
/**
* Resets the tick count to the given value.
*/
void reset(TickSource::Tick tick) {
- _currentTicks = std::move(tick);
+ _currentTicks.store(std::move(tick));
}
private:
- TickSource::Tick _currentTicks = 0;
+ AtomicWord<TickSource::Tick> _currentTicks{0};
};
} // namespace mongo