Author: Sam McCall
Date: 2021-07-02T16:32:13+02:00
New Revision: e42bb5e35a88c6a163934080883d4c5bc1f32cfc
URL: 
https://github.com/llvm/llvm-project/commit/e42bb5e35a88c6a163934080883d4c5bc1f32cfc
DIFF: 
https://github.com/llvm/llvm-project/commit/e42bb5e35a88c6a163934080883d4c5bc1f32cfc.diff

LOG: Reapply [clangd] Fix possible assertion fail in TUScheduler

This reverts commit fff966b6855aee6fc0d0d4cd401cdd525a838572.

Seems I managed to delete a critical ! after running the tests :-\

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 09c68a3a250b..700d8264555f 100644
--- a/clang-tools-extra/clangd/TUScheduler.cpp
+++ b/clang-tools-extra/clangd/TUScheduler.cpp
@@ -1380,11 +1380,13 @@ bool ASTWorker::blockUntilIdle(Deadline Timeout) const {
   };
   // Make sure ASTWorker has processed all requests, which might issue new
   // updates to PreamblePeer.
-  WaitUntilASTWorkerIsIdle();
+  if (!WaitUntilASTWorkerIsIdle())
+    return false;
   // Now that ASTWorker processed all requests, ensure PreamblePeer has served
   // all update requests. This might create new PreambleRequests for the
   // ASTWorker.
-  PreamblePeer.blockUntilIdle(Timeout);
+  if (!PreamblePeer.blockUntilIdle(Timeout))
+    return false;
   assert(Requests.empty() &&
          "No new normal tasks can be scheduled concurrently with "
          "blockUntilIdle(): ASTWorker isn't threadsafe");


        
_______________________________________________
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

Reply via email to