diff --git a/cpp/src/scheduler/task/SearchTask.cpp b/cpp/src/scheduler/task/SearchTask.cpp index b32c547022c1728b16b5e7e45f9e5786b943c8dd..46d429ab56c84689514fe7dd14977a85bc66c5ab 100644 --- a/cpp/src/scheduler/task/SearchTask.cpp +++ b/cpp/src/scheduler/task/SearchTask.cpp @@ -271,7 +271,7 @@ Status XSearchTask::MergeResult(SearchContext::Id2DistanceMap &distance_src, return Status::OK(); } - merge_mutex_.lock(); + std::unique_lock lock(merge_mutex_); if (distance_target.empty()) { distance_target.swap(distance_src); return Status::OK(); @@ -331,7 +331,6 @@ Status XSearchTask::MergeResult(SearchContext::Id2DistanceMap &distance_src, } distance_target.swap(distance_merged); - merge_mutex_.unlock(); return Status::OK(); }