backport in 1.0 ?

Vincent

On Mon, 21 Feb 2011, Enlightenment SVN wrote:

> Log:
> Fix: ecore-file inotify fd would be duplicated in children
>  on fork. Have it detecti this on next monitor add and re-init
>  the inotify fd and fd handler.
>
>
>
> Author:       raster
> Date:         2011-02-21 22:09:46 -0800 (Mon, 21 Feb 2011)
> New Revision: 57228
> Trac:         http://trac.enlightenment.org/e/changeset/57228
>
> Modified:
>  trunk/ecore/ChangeLog 
> trunk/ecore/src/lib/ecore_file/ecore_file_monitor_inotify.c
>
> Modified: trunk/ecore/ChangeLog
> ===================================================================
> --- trunk/ecore/ChangeLog     2011-02-22 01:55:08 UTC (rev 57227)
> +++ trunk/ecore/ChangeLog     2011-02-22 06:09:46 UTC (rev 57228)
> @@ -58,3 +58,9 @@
>
>       * Remove 300 second timeout so large downloads work in ecore_con.
>
> +2011-02-22  Carsten Haitzler (The Rasterman)
> +
> +        * Fix: ecore-file inotify fd would be duplicated in children
> +        on fork. Have it detecti this on next monitor add and re-init the
> +        inotify fd and fd handler.
> +
>
> Modified: trunk/ecore/src/lib/ecore_file/ecore_file_monitor_inotify.c
> ===================================================================
> --- trunk/ecore/src/lib/ecore_file/ecore_file_monitor_inotify.c       
> 2011-02-22 01:55:08 UTC (rev 57227)
> +++ trunk/ecore/src/lib/ecore_file/ecore_file_monitor_inotify.c       
> 2011-02-22 06:09:46 UTC (rev 57228)
> @@ -47,6 +47,7 @@
>
> static Ecore_Fd_Handler *_fdh = NULL;
> static Ecore_File_Monitor    *_monitors = NULL;
> +static pid_t             _inotify_fd_pid = -1;
>
> static Eina_Bool           _ecore_file_monitor_inotify_handler(void *data, 
> Ecore_Fd_Handler *fdh);
> static Ecore_File_Monitor *_ecore_file_monitor_inotify_monitor_find(int wd);
> @@ -64,7 +65,7 @@
>    fd = inotify_init();
>    if (fd < 0)
>      return 0;
> -
> +
>    _fdh = ecore_main_fd_handler_add(fd, ECORE_FD_READ, 
> _ecore_file_monitor_inotify_handler,
>                                     NULL, NULL, NULL);
>    if (!_fdh)
> @@ -73,6 +74,7 @@
>         return 0;
>      }
>
> +   _inotify_fd_pid = getpid();
>    return 1;
> }
>
> @@ -90,6 +92,7 @@
>         ecore_main_fd_handler_del(_fdh);
>         close(fd);
>      }
> +   _inotify_fd_pid = -1;
>    return 1;
> }
>
> @@ -103,6 +106,14 @@
>    Ecore_File_Monitor *em;
>    int len;
>
> +   if (_inotify_fd_pid == -1) return NULL;
> +
> +   if (_inotify_fd_pid != getpid())
> +     {
> +        ecore_file_monitor_inotify_shutdown();
> +        ecore_file_monitor_inotify_init();
> +     }
> +
>    em = calloc(1, sizeof(Ecore_File_Monitor_Inotify));
>    if (!em) return NULL;
>
>
>
> ------------------------------------------------------------------------------
> Index, Search & Analyze Logs and other IT data in Real-Time with Splunk
> Collect, index and harness all the fast moving IT data generated by your
> applications, servers and devices whether physical, virtual or in the cloud.
> Deliver compliance at lower cost and gain new business insights.
> Free Software Download: http://p.sf.net/sfu/splunk-dev2dev
> _______________________________________________
> enlightenment-svn mailing list
> enlightenment-...@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/enlightenment-svn
>
>

------------------------------------------------------------------------------
Index, Search & Analyze Logs and other IT data in Real-Time with Splunk 
Collect, index and harness all the fast moving IT data generated by your 
applications, servers and devices whether physical, virtual or in the cloud.
Deliver compliance at lower cost and gain new business insights. 
Free Software Download: http://p.sf.net/sfu/splunk-dev2dev
_______________________________________________
enlightenment-devel mailing list
enlightenment-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-devel

Reply via email to