[PATCH] D38032: [clangd] Serialize onDiagnosticsReady callbacks for the same file.

Ilya Biryukov via Phabricator via cfe-commits cfe-commits at lists.llvm.org
Wed Sep 20 04:36:26 PDT 2017


ilya-biryukov added inline comments.


================
Comment at: clangd/ClangdServer.cpp:321-324
+    // FIXME(ibiryukov): get rid of '<' comparison here. In the current
+    // implementation diagnostics will not be reported after version counters'
+    // overflow. This should not happen in practice, since DocVersion is a
+    // 64-bit unsigned integer.
----------------
klimek wrote:
> Why is this a FIXME? Do we intend to use a different mechanism? 2^64 versions of a file seem to be a lot?
I think we can get rid of it after refactoring threading. But we should definitely be fine with 2^64 versions.


================
Comment at: unittests/clangd/ClangdTests.cpp:912
+        StartSecondReparse.set_value();
+        // Sleep long enough for the second request to be processed.
+        std::this_thread::sleep_for(std::chrono::milliseconds(50));
----------------
klimek wrote:
> Why not hand in a signal to wait for?
The signal should be fired on a second call to `onDiagnosticsReady`, but the second call won't happen before the fist one returns.
Is there some other way to fire the signal that I'm missing?


https://reviews.llvm.org/D38032





More information about the cfe-commits mailing list