diff options
author | Håvard Pettersen <havardpe@yahooinc.com> | 2022-05-13 10:24:25 +0000 |
---|---|---|
committer | Håvard Pettersen <havardpe@yahooinc.com> | 2022-05-13 10:24:25 +0000 |
commit | c20c59a4d933097651baec2563821207f3f4c4fa (patch) | |
tree | e8f7e56478fb041460b2cfa93b2cb61286a2731e /searchlib | |
parent | 1df3b3c59251bd4fd1b099ae5cfb4c280313e76d (diff) |
use atomic minscore for wand heap
Diffstat (limited to 'searchlib')
-rw-r--r-- | searchlib/src/vespa/searchlib/queryeval/wand/weak_and_heap.h | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/searchlib/src/vespa/searchlib/queryeval/wand/weak_and_heap.h b/searchlib/src/vespa/searchlib/queryeval/wand/weak_and_heap.h index 6782d8963d1..496226b59eb 100644 --- a/searchlib/src/vespa/searchlib/queryeval/wand/weak_and_heap.h +++ b/searchlib/src/vespa/searchlib/queryeval/wand/weak_and_heap.h @@ -3,6 +3,7 @@ #include "wand_parts.h" #include <vespa/vespalib/util/priority_queue.h> +#include <atomic> #include <mutex> namespace search::queryeval { @@ -34,11 +35,11 @@ public: **/ uint32_t getScoresToTrack() const { return _scoresToTrack; } - score_t getMinScore() const { return _minScore; } + score_t getMinScore() const { return _minScore.load(std::memory_order_relaxed); } protected: - void setMinScore(score_t minScore) { _minScore = minScore; } + void setMinScore(score_t minScore) { _minScore.store(minScore, std::memory_order_relaxed); } private: - score_t _minScore; + std::atomic<score_t> _minScore; const uint32_t _scoresToTrack; }; |