Author: ibiryukov Date: Thu Sep 6 04:04:56 2018 New Revision: 341538 URL: http://llvm.org/viewvc/llvm-project?rev=341538&view=rev Log: [clangd] Fix data race in async fuzzyFind tests.
Modified: clang-tools-extra/trunk/unittests/clangd/CodeCompleteTests.cpp Modified: clang-tools-extra/trunk/unittests/clangd/CodeCompleteTests.cpp URL: http://llvm.org/viewvc/llvm-project/clang-tools-extra/trunk/unittests/clangd/CodeCompleteTests.cpp?rev=341538&r1=341537&r2=341538&view=diff ============================================================================== --- clang-tools-extra/trunk/unittests/clangd/CodeCompleteTests.cpp (original) +++ clang-tools-extra/trunk/unittests/clangd/CodeCompleteTests.cpp Thu Sep 6 04:04:56 2018 @@ -966,6 +966,7 @@ public: bool fuzzyFind(const FuzzyFindRequest &Req, llvm::function_ref<void(const Symbol &)> Callback) const override { + std::lock_guard<std::mutex> Lock(Mut); Requests.push_back(Req); return true; } @@ -981,12 +982,15 @@ public: size_t estimateMemoryUsage() const override { return 0; } const std::vector<FuzzyFindRequest> consumeRequests() const { + std::lock_guard<std::mutex> Lock(Mut); auto Reqs = std::move(Requests); Requests = {}; return Reqs; } private: + // We need a mutex to handle async fuzzy find requests. + mutable std::mutex Mut; mutable std::vector<FuzzyFindRequest> Requests; }; _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits