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

From: Tassilo Horn <[email-masked]>
Date: Mon, 14 Sep 2015 08:08:20 +0200

Michael Albinus <[email-masked]> writes:

Hi Michael,

>>> So I think having a validation function is a good idea.
>>
>> Yes. I've started to write a prototype for inotify.c, will show when
>> it works (slow progress, you know :-( )
>
> I've committed a patch to the trunk, adding `file-notify-valid-p' and
> its native implementations in inotify.c and tramp.el. Comments
> welcome.
>
> I know, documentation in the elisp manual is missing. I'll add it
> later, and also the native implementation in gfilenotify.c.
>
> Test cases, anywhere?

I've added two tests, one for plain files and one for directories.  They
are "green" right now but I think they should not.

What seems wrong to me is that the descriptors stay valid even when the
watched file or directory is deleted.  For files this might be ok
(though maybe inotify-specific) because when I create a new file with
the same name, the watch will trigger.

However, the current hehavior is certainly wrong for directories.  When
I deleted the watched directory, the descriptor is still valid, but
calling file-notify-rm-watch on it signals an error.

Bye,
Tassilo