[PATCH] D58418: [clang][DirectoryWatcher] Upstream DirectoryWatcher
Jan Korous via Phabricator via cfe-commits
cfe-commits at lists.llvm.org
Wed May 22 12:51:58 PDT 2019
jkorous marked 9 inline comments as done.
jkorous added a comment.
Thanks for taking a look Kadir!
After yesterday's discussion with Dmitri I removed all those busy waits. Seems like the code is not much more complex now. I am going to update the diff and off to fixing the tests.
================
Comment at: clang/lib/DirectoryWatcher/linux/DirectoryWatcher-linux.cpp:211
+ // ... inotify-originated events processing ever after.
+ while (true) {
+ bool GotEvent = false;
----------------
kadircet wrote:
> kadircet wrote:
> > `while (!Stop)` ?
> why the loop always tries to empty the queue? what would be broken if we simply stopped if `Stop` was set?
>
> Also if that is important current implementation doesn't seem to be achiving that, since some events can be pushed to the queue after while loop exits.
I changed the design - stopping condition for this loop is now finding `WatcherGotInvalidated` in the queue itself.
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D58418/new/
https://reviews.llvm.org/D58418
More information about the cfe-commits
mailing list