diff options
| author | Ilya Biryukov <ibiryukov@google.com> | 2018-09-06 11:04:56 +0000 |
|---|---|---|
| committer | Ilya Biryukov <ibiryukov@google.com> | 2018-09-06 11:04:56 +0000 |
| commit | 5c4d6e66f0caa4b6deb8d7008372efbd1c0aae49 (patch) | |
| tree | a0b0ef9b4cc18df4c3f40f3145f8e73873e5ca72 /clang-tools-extra/unittests/clangd/CodeCompleteTests.cpp | |
| parent | c51d08825f568d15a2dca28d2222d5b8a1a00c9c (diff) | |
| download | bcm5719-llvm-5c4d6e66f0caa4b6deb8d7008372efbd1c0aae49.tar.gz bcm5719-llvm-5c4d6e66f0caa4b6deb8d7008372efbd1c0aae49.zip | |
[clangd] Fix data race in async fuzzyFind tests.
llvm-svn: 341538
Diffstat (limited to 'clang-tools-extra/unittests/clangd/CodeCompleteTests.cpp')
| -rw-r--r-- | clang-tools-extra/unittests/clangd/CodeCompleteTests.cpp | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/clang-tools-extra/unittests/clangd/CodeCompleteTests.cpp b/clang-tools-extra/unittests/clangd/CodeCompleteTests.cpp index d2067219ce0..315050f79a8 100644 --- a/clang-tools-extra/unittests/clangd/CodeCompleteTests.cpp +++ b/clang-tools-extra/unittests/clangd/CodeCompleteTests.cpp @@ -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; }; |

