netstar pushed a commit to branch master.

http://git.enlightenment.org/core/efl.git/commit/?id=38a4c53a84992d6720e89065b928a4149fc359ad

commit 38a4c53a84992d6720e89065b928a4149fc359ad
Author: Alastair Poole <m...@alastairpoole.com>
Date:   Fri Nov 26 08:32:17 2021 +0000

    eio_mon: separate dir/file concerns.
    
    As per ecore_file_monitor.
---
 src/lib/eio/eio_monitor_kevent.c | 14 +++++++++-----
 1 file 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);
 

-- 


Reply via email to