diff options
author | Tor Brede Vekterli <vekterli@yahooinc.com> | 2022-02-17 14:15:58 +0000 |
---|---|---|
committer | Tor Brede Vekterli <vekterli@yahooinc.com> | 2022-02-17 14:15:58 +0000 |
commit | 8f1617fcfd65b1a8c516769a9f12a74494a93483 (patch) | |
tree | a5f383b4508ab6d812276a70a658c87d0b53c422 /fnet | |
parent | a62caaa746d9ab5680d134ed815dac0346e54c25 (diff) |
Check FNET_Scheduler slots inside lock
Diffstat (limited to 'fnet')
-rw-r--r-- | fnet/src/vespa/fnet/scheduler.cpp | 7 |
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); |