summaryrefslogtreecommitdiffstats
path: root/fnet
diff options
context:
space:
mode:
Diffstat (limited to 'fnet')
-rw-r--r--fnet/src/vespa/fnet/scheduler.cpp7
1 files changed, 3 insertions, 4 deletions
diff --git a/fnet/src/vespa/fnet/scheduler.cpp b/fnet/src/vespa/fnet/scheduler.cpp
index 34ec73bda69..29ce40ea66d 100644
--- a/fnet/src/vespa/fnet/scheduler.cpp
+++ b/fnet/src/vespa/fnet/scheduler.cpp
@@ -137,15 +137,14 @@ FNET_Scheduler::Print(FILE *dst)
void
FNET_Scheduler::CheckTasks()
{
- _now = _sampler ? *_sampler : vespalib::steady_clock::now();
-
+ const auto now = _sampler ? *_sampler : vespalib::steady_clock::now();
+ std::unique_lock guard(_lock);
+ _now = now;
// assume timely value propagation
if (_slots[NUM_SLOTS] == nullptr && _now < _next)
return;
- std::unique_lock<std::mutex> guard(_lock);
-
// perform urgent tasks
PerformTasks(guard, NUM_SLOTS, 0);