I wonder why not a single daemon to manage the cache. And it is the single
point to inotify.

Use DBus session and you get the single instance with automatic startup for
free.

I know most people don't like DBus, but here it should do well. This daemon
is only emitting signals when cache change, eventually taking requests from
clients (? Not sure)

On Thursday, October 18, 2012, Enlightenment SVN wrote:

> Log:
> efreet: move update files
>
>   Move update files to separate subdir to reduce inotify triggers
>
> Author:       englebass
> Date:         2012-10-18 02:40:00 -0700 (Thu, 18 Oct 2012)
> New Revision: 78176
> Trac:         http://trac.enlightenment.org/e/changeset/78176
>
> Modified:
>   trunk/efreet/src/bin/efreet_desktop_cache_create.c
> trunk/efreet/src/bin/efreet_icon_cache_create.c
> trunk/efreet/src/lib/efreet_cache.c
>
> Modified: trunk/efreet/src/bin/efreet_desktop_cache_create.c
> ===================================================================
> --- trunk/efreet/src/bin/efreet_desktop_cache_create.c  2012-10-18
> 09:39:44 UTC (rev 78175)
> +++ trunk/efreet/src/bin/efreet_desktop_cache_create.c  2012-10-18
> 09:40:00 UTC (rev 78176)
> @@ -272,6 +272,12 @@
>          if (!ecore_file_mkpath(file)) goto efreet_error;
>          efreet_setowner(file);
>      }
> +    snprintf(file, sizeof(file), "%s/efreet/update",
> efreet_cache_home_get());
> +    if (!ecore_file_exists(file))
> +    {
> +        if (!ecore_file_mkpath(file)) goto efreet_error;
> +        efreet_setowner(file);
> +    }
>
>      /* lock process, so that we only run one copy of this program */
>      lockfd = cache_lock_file();
> @@ -491,7 +497,7 @@
>      }
>
>      /* touch update file */
> -    snprintf(file, sizeof(file), "%s/efreet/desktop_data.update",
> efreet_cache_home_get());
> +    snprintf(file, sizeof(file), "%s/efreet/update/desktop_data.update",
> efreet_cache_home_get());
>      tmpfd = open(file, O_CREAT | O_WRONLY, S_IRUSR | S_IWUSR);
>      if (tmpfd >= 0)
>      {
>
> Modified: trunk/efreet/src/bin/efreet_icon_cache_create.c
> ===================================================================
> --- trunk/efreet/src/bin/efreet_icon_cache_create.c     2012-10-18
> 09:39:44 UTC (rev 78175)
> +++ trunk/efreet/src/bin/efreet_icon_cache_create.c     2012-10-18
> 09:40:00 UTC (rev 78176)
> @@ -852,6 +852,12 @@
>          if (!ecore_file_mkpath(file)) return -1;
>          efreet_setowner(file);
>      }
> +    snprintf(file, sizeof(file), "%s/efreet/update",
> efreet_cache_home_get());
> +    if (!ecore_file_exists(file))
> +    {
> +        if (!ecore_file_mkpath(file)) return -1;
> +        efreet_setowner(file);
> +    }
>
>      /* lock process, so that we only run one copy of this program */
>      lockfd = cache_lock_file();
> @@ -1112,7 +1118,7 @@
>      free(theme_version);
>
>      /* touch update file */
> -    snprintf(file, sizeof(file), "%s/efreet/icon_data.update",
> efreet_cache_home_get());
> +    snprintf(file, sizeof(file), "%s/efreet/update/icon_data.update",
> efreet_cache_home_get());
>      tmpfd = open(file, O_CREAT | O_WRONLY, S_IRUSR | S_IWUSR);
>      if (tmpfd >= 0)
>      {
>
> Modified: trunk/efreet/src/lib/efreet_cache.c
> ===================================================================
> --- trunk/efreet/src/lib/efreet_cache.c 2012-10-18 09:39:44 UTC (rev 78175)
> +++ trunk/efreet/src/lib/efreet_cache.c 2012-10-18 09:40:00 UTC (rev 78176)
> @@ -142,6 +142,16 @@
>              }
>              efreet_setowner(buf);
>          }
> +        snprintf(buf, sizeof(buf), "%s/efreet/update",
> efreet_cache_home_get());
> +        if (!ecore_file_exists(buf))
> +        {
> +            if (!ecore_file_mkpath(buf))
> +            {
> +                ERR("Failed to create directory '%s'", buf);
> +                goto error;
> +            }
> +            efreet_setowner(buf);
> +        }
>
>          cache_exe_handler = ecore_event_handler_add(ECORE_EXE_EVENT_DEL,
>                                                      cache_exe_cb, NULL);
>
>
>
> ------------------------------------------------------------------------------
> Everyone hates slow websites. So do we.
> Make your web apps faster with AppDynamics
> Download AppDynamics Lite for free today:
> http://p.sf.net/sfu/appdyn_sfd2d_oct
> _______________________________________________
> enlightenment-svn mailing list
> enlightenment-...@lists.sourceforge.net <javascript:;>
> https://lists.sourceforge.net/lists/listinfo/enlightenment-svn
>


-- 
Gustavo Sverzut Barbieri
http://profusion.mobi embedded systems
--------------------------------------
MSN: barbi...@gmail.com
Skype: gsbarbieri
Mobile: +55 (19) 9225-2202
------------------------------------------------------------------------------
Everyone hates slow websites. So do we.
Make your web apps faster with AppDynamics
Download AppDynamics Lite for free today:
http://p.sf.net/sfu/appdyn_sfd2d_oct
_______________________________________________
enlightenment-devel mailing list
enlightenment-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-devel

Reply via email to