From 0a41f17e0b76cee57107c7b744c3961e7e9daf17 Mon Sep 17 00:00:00 2001 From: Vadim Zeitlin Date: Thu, 29 Nov 2012 22:02:58 +0000 Subject: [PATCH] Log invalid inotify() events without a valid watch descriptor. Apparently we can get events without any valid watch descriptor, even though this is not supposed to happen. At least warn about them. See #14854. git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@73064 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775 --- src/unix/fswatcher_inotify.cpp | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) diff --git a/src/unix/fswatcher_inotify.cpp b/src/unix/fswatcher_inotify.cpp index 3d6e8eb0f7..1f1517b3f7 100644 --- a/src/unix/fswatcher_inotify.cpp +++ b/src/unix/fswatcher_inotify.cpp @@ -271,6 +271,24 @@ protected: return; } + if (inevt.wd == -1) + { + // Although this is not supposed to happen, we seem to be getting + // occasional IN_ACCESS/IN_MODIFY events without valid watch value. + wxFileSystemWatcherEvent + event + ( + wxFSW_EVENT_WARNING, + wxString::Format + ( + _("Invalid inotify event for \"%s\""), + inevt.len ? inevt.name : "" + ) + ); + SendEvent(event); + return; + } + wxFSWatchEntry& watch = *(it->second); // Now IN_UNMOUNT. We must do so here, as it's not in the watch flags -- 2.50.0