aboutsummaryrefslogtreecommitdiffstats
path: root/searchlib
diff options
context:
space:
mode:
authorHåvard Pettersen <havardpe@yahooinc.com>2022-05-13 10:24:25 +0000
committerHåvard Pettersen <havardpe@yahooinc.com>2022-05-13 10:24:25 +0000
commitc20c59a4d933097651baec2563821207f3f4c4fa (patch)
treee8f7e56478fb041460b2cfa93b2cb61286a2731e /searchlib
parent1df3b3c59251bd4fd1b099ae5cfb4c280313e76d (diff)
use atomic minscore for wand heap
Diffstat (limited to 'searchlib')
-rw-r--r--searchlib/src/vespa/searchlib/queryeval/wand/weak_and_heap.h7
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;
};