ilya-biryukov added inline comments.

================
Comment at: clangd/ClangdServer.cpp:557
     // 64-bit unsigned integer.
     if (Version < LastReportedDiagsVersion)
       return;
----------------
When you'll try remove the `DraftMgr`, this piece of code will be hard to 
refactor because it relies on `DocVersion`.
This is a workaround for a possible race condition that should really be 
handled by TUScheduler rather than this code, but we haven't got around to 
fixing it yet. (It's on the list, though, would probably get in next week).

A proper workaround for now would be to add `llvm::StringMap<uint64_t> 
InternalVersions` field to `ClangdServer`, increment those versions on each 
call to `addDocument` and use them here in the same way we currently use 
DraftMgr's versions.


Repository:
  rCTE Clang Tools Extra

https://reviews.llvm.org/D44272



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

Reply via email to