Subject: Re: bug#21432: 25.0.50; file-notify-rm-watch (inotify) errors if watched dir is deleted

From: Michael Albinus <[email-masked]>
Date: Mon, 14 Sep 2015 22:23:36 +0200

Eli Zaretskii <[email-masked]> writes:

> No, I think it's a problem with our mental model of what happens.  The
> file notifications use the Emacs event loop, and Emacs won't check for
> events until it's idle.  So calling file-notify-valid-p as part of the
> test ends up doing that _before_ the directory deletion notification
> is read by Emacs and invalidates the watch.  I actually see the
> message saying the watch is valid before the notification comes in and
> its message is inserted into *Messages*.
>
> Try something similar with inotify and see if you see the same basic
> issue.  If you do, I trust you will think of a way to modify the tests
> so that validation does do its thing.

I've adapted `file-notify-test04-file-validity' and
`file-notify-test05-dir-validity', and they pass the tests now for the
inotify case. Hopefully, it is the same for w32notify.

Implementation for gfilenotify and Tramp will follow.

While being there, I have made also `file-notify-rm-watch' more robust
by ignoring all `file-notify-error's. This was the initial trigger for
bug#21432.

Best regards, Michael.