summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAlastair Poole <mail@alastairpoole.com>2021-11-26 08:32:17 +0000
committerAlastair Poole <mail@alastairpoole.com>2021-11-26 08:32:17 +0000
commit38a4c53a84992d6720e89065b928a4149fc359ad (patch)
treef37b7cd6fc9921453c64204ee433379cc714ee26
parent43108e772a95d98fdd48f43a4fe707d7995e18b2 (diff)
downloadefl-38a4c53a84992d6720e89065b928a4149fc359ad.tar.gz
eio_mon: separate dir/file concerns.
As per ecore_file_monitor.
-rw-r--r--src/lib/eio/eio_monitor_kevent.c14
1 files changed, 9 insertions, 5 deletions
diff --git a/src/lib/eio/eio_monitor_kevent.c b/src/lib/eio/eio_monitor_kevent.c
index a99b27763f..0750875e88 100644
--- a/src/lib/eio/eio_monitor_kevent.c
+++ b/src/lib/eio/eio_monitor_kevent.c
@@ -189,10 +189,13 @@ _eio_kevent_handler(void *data EINA_UNUSED, Ecore_Fd_Handler *fdh)
if(evs[i].fflags & NOTE_WRITE || evs[i].fflags & NOTE_ATTRIB)
{
/* Handle directory/file creation and deletion */
- _eio_kevent_event_find(backend);
- /* Old default behaviour */
- event_code = EIO_MONITOR_FILE_MODIFIED;
- _eio_monitor_send(backend->parent, backend->parent->path, event_code);
+ if (ecore_file_is_dir(backend->parent->path))
+ _eio_kevent_event_find(backend);
+ else
+ {
+ event_code = EIO_MONITOR_FILE_MODIFIED;
+ _eio_monitor_send(backend->parent, backend->parent->path, event_code);
+ }
}
}
@@ -279,7 +282,8 @@ void eio_monitor_backend_add(Eio_Monitor *monitor)
backend->parent = monitor;
monitor->backend = backend;
- backend->prev_list = _eio_kevent_ls(backend->parent->path);
+ if (ecore_file_is_dir(backend->parent->path))
+ backend->prev_list = _eio_kevent_ls(backend->parent->path);
eina_hash_direct_add(_kevent_monitors, &backend->fd, backend);