From ca53a98c55b85daf9b29c8d3a736cc5683489f75 Mon Sep 17 00:00:00 2001 From: jinhai Date: Thu, 12 Sep 2019 17:11:02 +0800 Subject: [PATCH] Add merge mutex Former-commit-id: 3e65e9a3195ec1eff635b17997b599dbca1a0457 --- cpp/src/scheduler/task/SearchTask.cpp | 2 ++ cpp/src/scheduler/task/SearchTask.h | 2 ++ 2 files changed, 4 insertions(+) diff --git a/cpp/src/scheduler/task/SearchTask.cpp b/cpp/src/scheduler/task/SearchTask.cpp index 937936dd..63aa4371 100644 --- a/cpp/src/scheduler/task/SearchTask.cpp +++ b/cpp/src/scheduler/task/SearchTask.cpp @@ -269,6 +269,7 @@ Status XSearchTask::MergeResult(SearchContext::Id2DistanceMap &distance_src, return Status::OK(); } + merge_mutex_.lock(); if (distance_target.empty()) { distance_target.swap(distance_src); return Status::OK(); @@ -328,6 +329,7 @@ Status XSearchTask::MergeResult(SearchContext::Id2DistanceMap &distance_src, } distance_target.swap(distance_merged); + merge_mutex_.unlock(); return Status::OK(); } diff --git a/cpp/src/scheduler/task/SearchTask.h b/cpp/src/scheduler/task/SearchTask.h index 2370e263..6adda7c1 100644 --- a/cpp/src/scheduler/task/SearchTask.h +++ b/cpp/src/scheduler/task/SearchTask.h @@ -48,6 +48,8 @@ public: int index_type_ = 0; ExecutionEnginePtr index_engine_ = nullptr; bool metric_l2 = true; + + static std::mutex merge_mutex_; }; } -- GitLab