From 0348eb8be7fc0a55f0dd90b40daa4c8b5aa9d228 Mon Sep 17 00:00:00 2001 From: Felipe Magno de Almeida Date: Fri, 10 Apr 2015 17:11:41 -0300 Subject: [PATCH] eio_monitor: Removed unnecessary eio_file_direct_stat Removed unnecessary asynchronous stat, which could make eio_monitor to lose events between the monitor creation and stat completion. Change-Id: I7f420267fa39fae54b7fc3c73eb2f1a9f4225741 origin: upstream --- src/lib/eio/eio_monitor.c | 14 +++----------- 1 file changed, 3 insertions(+), 11 deletions(-) diff --git a/src/lib/eio/eio_monitor.c b/src/lib/eio/eio_monitor.c index d983bd1..9bbc96e 100644 --- a/src/lib/eio/eio_monitor.c +++ b/src/lib/eio/eio_monitor.c @@ -365,20 +365,12 @@ eio_monitor_stringshared_add(const char *path) monitor->fallback = EINA_FALSE; monitor->rename = EINA_FALSE; monitor->delete_me = EINA_FALSE; + monitor->exist = NULL; EINA_REFCOUNT_INIT(monitor); - EINA_REFCOUNT_REF(monitor); /* as we spawn a thread for this monitor, we need to refcount specifically for it */ - - monitor->exist = eio_file_direct_stat(monitor->path, - _eio_monitor_stat_cb, - _eio_monitor_error_cb, - monitor); - if (!monitor->exist) - { - _eio_monitor_free(monitor); - return NULL; - } + eio_monitor_backend_add(monitor); + eina_hash_direct_add(_eio_monitors, path, monitor); INF("New monitor on '%s'.", path); -- 2.7.4