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



_______________________________________________
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

Reply via email to