[PATCH] D72647: [clangd] Only re-open files if their flags changed
David Goldman via Phabricator via cfe-commits
cfe-commits at lists.llvm.org
Tue Jan 14 07:53:02 PST 2020
dgoldman added inline comments.
================
Comment at: clang-tools-extra/clangd/ClangdLSPServer.cpp:1126
+ std::set<std::string> ModifiedFiles;
+ auto Sub =
+ CDB->watch([&ModifiedFiles](const std::vector<std::string> Changes) {
----------------
sammccall wrote:
> this is a clever technique. (Why not just use compilationDatabaseChanges directly? I suppose because then you have to deal more with path canonicalization?)
>
> it risks having the CDB change concurrently and reloading those files too, though.
> I guess there's not much harm in it. But in that case, why aren't we just permanently subscribing to CDB changes and re-parsing affected files? Lack of a thread to do it on?
Yeah I think `compilationDatabaseChanges` would be equivalent to what is here now, I can just swap to that.
For the perma subscribe I wasn't sure of the threading. If addDocument is thread safe I think we're okay to just call `Server->AddDocument` from whatever thread without holding a mutex?
Repository:
rG LLVM Github Monorepo
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D72647/new/
https://reviews.llvm.org/D72647
More information about the cfe-commits
mailing list