cedric pushed a commit to branch master.

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

commit e1e477430698d79496970fbf16fcb6f1bb3fe396
Author: Cedric BAIL <[email protected]>
Date:   Wed Mar 5 10:40:55 2014 +0900

    eio: improve log when monitoring files.
---
 src/lib/eio/eio_monitor.c | 30 +++++++++++++++++++++++++++++-
 1 file changed, 29 insertions(+), 1 deletion(-)

diff --git a/src/lib/eio/eio_monitor.c b/src/lib/eio/eio_monitor.c
index bc6c2d8..29141ac 100644
--- a/src/lib/eio/eio_monitor.c
+++ b/src/lib/eio/eio_monitor.c
@@ -51,6 +51,8 @@ _eio_monitor_free(Eio_Monitor *monitor)
           eio_monitor_fallback_del(monitor);
      }
 
+   INF("Stopping monitor on '%s'.", monitor->path);
+
    eina_stringshare_del(monitor->path);
    free(monitor);
 }
@@ -184,6 +186,25 @@ eio_monitor_shutdown(void)
    _monitor_pid = -1;
 }
 
+static const char *
+_eio_naming_event(int event_code)
+{
+#define EVENT_CHECK(Code, Ev) if (Code == Ev) return #Ev;
+
+   EVENT_CHECK(event_code, EIO_MONITOR_ERROR);
+   EVENT_CHECK(event_code, EIO_MONITOR_FILE_CREATED);
+   EVENT_CHECK(event_code, EIO_MONITOR_FILE_DELETED);
+   EVENT_CHECK(event_code, EIO_MONITOR_FILE_MODIFIED);
+   EVENT_CHECK(event_code, EIO_MONITOR_FILE_CLOSED);
+   EVENT_CHECK(event_code, EIO_MONITOR_DIRECTORY_CREATED);
+   EVENT_CHECK(event_code, EIO_MONITOR_DIRECTORY_DELETED);
+   EVENT_CHECK(event_code, EIO_MONITOR_DIRECTORY_MODIFIED);
+   EVENT_CHECK(event_code, EIO_MONITOR_DIRECTORY_CLOSED);
+   EVENT_CHECK(event_code, EIO_MONITOR_SELF_RENAME);
+   EVENT_CHECK(event_code, EIO_MONITOR_SELF_DELETED);
+   return "Unknown";
+}
+
 void
 _eio_monitor_send(Eio_Monitor *monitor, const char *filename, int event_code)
 {
@@ -192,6 +213,9 @@ _eio_monitor_send(Eio_Monitor *monitor, const char 
*filename, int event_code)
    if (monitor->delete_me)
      return;
 
+   INF("Event '%s' for monitored path '%s'.",
+       _eio_naming_event(event_code), filename);
+
    ev = calloc(1, sizeof (Eio_Monitor_Event));
    if (!ev) return;
 
@@ -225,6 +249,9 @@ _eio_monitor_rename(Eio_Monitor *monitor, const char 
*newpath)
          eio_monitor_fallback_del(monitor);
     }
 
+  INF("Renaming path '%s' to '%s'.",
+      monitor->path, newpath);
+
   /* rename */
   tmp = monitor->path;
   monitor->path = eina_stringshare_add(newpath);
@@ -308,7 +335,7 @@ eio_monitor_stringshared_add(const char *path)
 
    if (stat(path, &st) != 0)
      {
-        INF("monitored path not found");
+        ERR("monitored path not found");
         return NULL;
      }
 
@@ -352,6 +379,7 @@ eio_monitor_stringshared_add(const char *path)
      }
 
    eina_hash_direct_add(_eio_monitors, path, monitor);
+   INF("New monitor on '%s'.", path);
 
    return monitor;
 }

-- 


Reply via email to