diff --git a/clang/lib/DirectoryWatcher/windows/DirectoryWatcher-windows.cpp b/clang/lib/DirectoryWatcher/windows/DirectoryWatcher-windows.cpp index 847d20bfbb6fa8..8a4f5a87d967ca 100644 --- a/clang/lib/DirectoryWatcher/windows/DirectoryWatcher-windows.cpp +++ b/clang/lib/DirectoryWatcher/windows/DirectoryWatcher-windows.cpp @@ -133,6 +133,9 @@ DirectoryWatcherWindows::~DirectoryWatcherWindows() { } void DirectoryWatcherWindows::InitialScan() { + std::unique_lock lock(Mutex); + Ready.wait(lock, [this] { return this->WatcherActive; }); + Callback(getAsFileEvents(scanDirectory(Path.data())), /*IsInitial=*/true); }