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
This commit is contained in:
Vadim Zeitlin 2012-11-29 22:02:58 +00:00
parent 8ded8d08ab
commit 0a41f17e0b

View File

@ -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