]> go.fuhry.dev Git - fsnotify.git/commit
inotify: don't ignore events for files that don't exist (#470)
authorMartin Tournoij <martin@arp242.net>
Fri, 29 Jul 2022 18:31:09 +0000 (20:31 +0200)
committerGitHub <noreply@github.com>
Fri, 29 Jul 2022 18:31:09 +0000 (20:31 +0200)
commit1a7b6eff187682827f7fa3ac1f3d57949cd4ebcc
tree4a56d349d8b3d32279525836f8fc984f5acb7fb9
parentf0aceb2cb00fad2da4024e19b6af3a80f4cdf828
inotify: don't ignore events for files that don't exist (#470)

This is quite an odd check, leading to an inconsistent event stream,
which also doesn't match what other platforms do. If you do a "CREATE +
MODIFY + REMOVE" in quick succession then you probably *want* all three
events. If you don't want to operate on non-existing files, then you can
check this in your application code.

You need to do that already, since this check is far from reliable. In
the time between this check and the application code doing something
with an event the file may have been deleted already.

I looked a bit at the history of this, and looks like it was added in
2013 with cc2c34e; issue 36 refers to this issue on the old repo, which
mentions it fixes a memory leak: https://github.com/howeyc/fsnotify/issues/36

I can't reproduce that at all; using the CLI from #463 modified to print
the memory and running:

for i in $(seq 0 10000); { touch $i; rm $i }

Memory stays at about 100/110K in both the current main branch and this.

So I think it should be safe to remove.
inotify.go