From 8ece74f1fd7a619448a04aa7c4f6b1490c33a8c0 Mon Sep 17 00:00:00 2001 From: Mike Blumenkrantz Date: Tue, 12 Jun 2012 07:40:37 +0000 Subject: [PATCH] fix ecore-file inotify monitoring on soon-to-be deleted files SVN revision: 71985 --- legacy/ecore/ChangeLog | 4 ++++ legacy/ecore/src/lib/ecore_file/ecore_file_monitor_inotify.c | 4 ++-- 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/legacy/ecore/ChangeLog b/legacy/ecore/ChangeLog index 01d7ee67c0..d3706d9bb2 100644 --- a/legacy/ecore/ChangeLog +++ b/legacy/ecore/ChangeLog @@ -744,3 +744,7 @@ * ibus-immodule: Add immodule for supporting ibus. +2012-06-12 Mike Blumenkrantz + + * Fixed bug in ecore-file monitoring with inotify where watching a file + that was deleted broke the world. diff --git a/legacy/ecore/src/lib/ecore_file/ecore_file_monitor_inotify.c b/legacy/ecore/src/lib/ecore_file/ecore_file_monitor_inotify.c index efdd8c2b92..30226d3a3a 100644 --- a/legacy/ecore/src/lib/ecore_file/ecore_file_monitor_inotify.c +++ b/legacy/ecore/src/lib/ecore_file/ecore_file_monitor_inotify.c @@ -274,7 +274,7 @@ _ecore_file_monitor_inotify_events(Ecore_File_Monitor *em, char *file, int mask) * else delete it */ if (ecore_file_exists(em->path)) { - if (!_ecore_file_monitor_inotify_monitor(em, em->path)) + if (_ecore_file_monitor_inotify_monitor(em, em->path)) em->func(em->data, em, ECORE_FILE_EVENT_DELETED_SELF, em->path); } else @@ -301,7 +301,7 @@ _ecore_file_monitor_inotify_monitor(Ecore_File_Monitor *em, const char *path) inotify_add_watch(ecore_main_fd_handler_fd_get(_fdh), path, mask); if (ECORE_FILE_MONITOR_INOTIFY(em)->wd < 0) { - ERR("inotify_add_watch error"); + INF("inotify_add_watch failed, file was deleted"); ecore_file_monitor_inotify_del(em); return 0; }