[all-commits] [llvm/llvm-project] 8f7920: [clangd] New ParsingCallback for semantics changes

kadir çetinkaya via All-commits all-commits at lists.llvm.org
Wed May 26 08:02:40 PDT 2021


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: 8f79203a22d8e04086f4cc9a58bb365148852a09
      https://github.com/llvm/llvm-project/commit/8f79203a22d8e04086f4cc9a58bb365148852a09
  Author: Kadir Cetinkaya <kadircet at google.com>
  Date:   2021-05-26 (Wed, 26 May 2021)

  Changed paths:
    M clang-tools-extra/clangd/ClangdServer.cpp
    M clang-tools-extra/clangd/TUScheduler.cpp
    M clang-tools-extra/clangd/TUScheduler.h

  Log Message:
  -----------
  [clangd] New ParsingCallback for semantics changes

Previously notification of the Server about semantic happened strictly
before notification of the AST thread.
Hence a racy Server could make a request (like semantic tokens) after
the notification, with the assumption that it'll be served fresh
content. But it wasn't true if AST thread wasn't notified about the
change yet.

This change reverses the order of those notifications to prevent racy
interactions.

Differential Revision: https://reviews.llvm.org/D102761




More information about the All-commits mailing list