Reapply [clangd] Fix possible assertion fail in TUScheduler

This reverts commit fff966b685.

Seems I managed to delete a critical ! after running the tests :-\
This commit is contained in:
Sam McCall 2021-07-02 16:30:19 +02:00
parent 13e35ac124
commit e42bb5e35a
1 changed files with 4 additions and 2 deletions

View File

@ -1380,11 +1380,13 @@ bool ASTWorker::blockUntilIdle(Deadline Timeout) const {
}; };
// Make sure ASTWorker has processed all requests, which might issue new // Make sure ASTWorker has processed all requests, which might issue new
// updates to PreamblePeer. // updates to PreamblePeer.
WaitUntilASTWorkerIsIdle(); if (!WaitUntilASTWorkerIsIdle())
return false;
// Now that ASTWorker processed all requests, ensure PreamblePeer has served // Now that ASTWorker processed all requests, ensure PreamblePeer has served
// all update requests. This might create new PreambleRequests for the // all update requests. This might create new PreambleRequests for the
// ASTWorker. // ASTWorker.
PreamblePeer.blockUntilIdle(Timeout); if (!PreamblePeer.blockUntilIdle(Timeout))
return false;
assert(Requests.empty() && assert(Requests.empty() &&
"No new normal tasks can be scheduled concurrently with " "No new normal tasks can be scheduled concurrently with "
"blockUntilIdle(): ASTWorker isn't threadsafe"); "blockUntilIdle(): ASTWorker isn't threadsafe");