cedric pushed a commit to branch master.

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

commit 1c0b3668e16792ebbcd9e950daf6c79475f3ecc4
Author: Ivan Furs <i.f...@samsung.com>
Date:   Fri Dec 16 15:27:09 2016 -0800

    Eio_monitor: support native monitor for Win32 (T4978)
    
    Test Plan:
    eio_monitor_backend_add()  and eio_monitor_fallback_add use different 
structures
    **eio_monitor_backend_add()  **
    struct _Eio_Monitor_Backend
    {
       Eio_Monitor               *parent;
       Eio_Monitor_Win32_Watcher *watcher_file;
       Eio_Monitor_Win32_Watcher *watcher_dir;
       Eio_Monitor_Win32_Watcher *watcher_parent;
    };
    
    **eio_monitor_fallback_add()**
    struct _Eio_Monitor_Backend
    {
       Eio_Monitor *parent;
    
       Eina_Stat self;
       Eina_Hash *children;
    
       Ecore_Timer *timer;
       Ecore_Idler *idler;
       Ecore_Thread *work;
    
       int version;
    
       Eina_Bool delete_me : 1;
       Eina_Bool initialised : 1;
       Eina_Bool destroyed : 1;
    };
    
    therefore, an error occurs
    **void eio_monitor_backend_del**(Eio_Monitor *monitor)
    {
    
       if (!_eio_monitor_win32_native)          
<------_eio_monitor_win32_native is EINA_TRUE
         {
    
            eio_monitor_fallback_del(monitor);  <------ignored------
            return;                             <------ignored------
         }
    
       _eio_monitor_win32_watcher_free(monitor->backend->watcher_parent);
       _eio_monitor_win32_watcher_free(monitor->backend->watcher_dir);
       _eio_monitor_win32_watcher_free(monitor->backend->watcher_file);
       free(monitor->backend);
       monitor->backend = NULL;
    }
    
    Reviewers: raster, vtorri, an.kroitor, jpeg, reutskiy.v.v, FurryMyad, cedric
    
    Reviewed By: cedric
    
    Subscribers: vtorri, artem.popov, cedric, jpeg
    
    Tags: #windows, #efl
    
    Differential Revision: https://phab.enlightenment.org/D4492
    
    Signed-off-by: Cedric BAIL <ced...@osg.samsung.com>
---
 src/lib/eio/eio_monitor_win32.c | 1 +
 1 file changed, 1 insertion(+)

diff --git a/src/lib/eio/eio_monitor_win32.c b/src/lib/eio/eio_monitor_win32.c
index 43c38f3..60f9aa3 100644
--- a/src/lib/eio/eio_monitor_win32.c
+++ b/src/lib/eio/eio_monitor_win32.c
@@ -418,6 +418,7 @@ void eio_monitor_backend_add(Eio_Monitor *monitor)
    free(backend);
  fallback:
    INF("falling back to poll monitoring");
+   _eio_monitor_win32_native = EINA_FALSE;
    eio_monitor_fallback_add(monitor);
 }
 

-- 


Reply via email to