Author: Kadir Cetinkaya Date: 2020-04-08T09:57:55+02:00 New Revision: 2a6eedbb51fd612d3386b0379938036b17511ae0
URL: https://github.com/llvm/llvm-project/commit/2a6eedbb51fd612d3386b0379938036b17511ae0 DIFF: https://github.com/llvm/llvm-project/commit/2a6eedbb51fd612d3386b0379938036b17511ae0.diff LOG: [clangd] Destroy context before resetting CurrentReq Summary: Our tests stash callbacks into request context and rely on it being invoked before threads going idle. Reviewers: sammccall Subscribers: ilya-biryukov, javed.absar, MaskRay, jkorous, arphaman, usaxena95, cfe-commits Tags: #clang Differential Revision: https://reviews.llvm.org/D77671 Added: Modified: clang-tools-extra/clangd/TUScheduler.cpp Removed: ################################################################################ diff --git a/clang-tools-extra/clangd/TUScheduler.cpp b/clang-tools-extra/clangd/TUScheduler.cpp index 46ec8e91d5a1..6b2d3368578c 100644 --- a/clang-tools-extra/clangd/TUScheduler.cpp +++ b/clang-tools-extra/clangd/TUScheduler.cpp @@ -255,9 +255,11 @@ class PreambleThread { NextReq.reset(); } - WithContext Guard(std::move(CurrentReq->Ctx)); - // Build the preamble and let the waiters know about it. - build(std::move(*CurrentReq)); + { + WithContext Guard(std::move(CurrentReq->Ctx)); + // Build the preamble and let the waiters know about it. + build(std::move(*CurrentReq)); + } bool IsEmpty = false; { std::lock_guard<std::mutex> Lock(Mutex); _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits