If a path which should be monitored does not exist, we can't monitor it.
If we create the path and open it, efreet will signal the cache daemon
that the cache should be rebuilt. If this was a system path, we would
ignore the request, but with this change it will see that the path isn't
monitored and rebuild the cache.
SVN revision: 79244
There will be a lot of dirs below an icon dir, so it is a lot to watch
all. The icon theme spec says that the top level dir will be updated on
icon theme update, which it will on a standard linux system. A temporary
file will be created and deleted below the top level dir.
SVN revision: 79126
The conversion to eina_file_map() in r78179 broke the error path of
efreet_init_parse(). Particularly if file doesn't exist. Since the variables
were not initialized it was trying to operate on random values from the stack.
So I got the following crash on E17:
#0 0x00007f238b0bbd67 in waitpid () from /usr/lib/libpthread.so.0
#1 0x00000000004397a3 in e_alert_show ()
#2 0x0000000000526392 in e_sigseg_act ()
#3 <signal handler called>
#4 0x0000000000000031 in ?? ()
#5 0x00007f239315df0f in efreet_ini_parse (file=file@entry=0x7fff39ce46f0 "/home/lucas/local/share/enlightenment/applications/defaults.list")
at /home/lucas/p/e-svn/trunk/efreet/src/lib/efreet_ini.c:245
#6 0x00007f239315e100 in efreet_ini_new (file=0x7fff39ce46f0 "/home/lucas/local/share/enlightenment/applications/defaults.list")
at /home/lucas/p/e-svn/trunk/efreet/src/lib/efreet_ini.c:82
#7 0x0000000000538174 in _e_util_default_terminal_get ()
#8 0x00000000005382dc in e_util_terminal_desktop_get ()
#9 0x00007f23706a1065 in e_fwin_init () from /home/lucas/local/lib/enlightenment/modules/fileman/linux-gnu-x86_64-ver-pre-svn-08/module.so
#10 0x00007f237069b524 in e_modapi_init () from /home/lucas/local/lib/enlightenment/modules/fileman/linux-gnu-x86_64-ver-pre-svn-08/module.so
#11 0x000000000050420d in e_module_enable ()
#12 0x0000000000504e77 in _e_module_cb_idler ()
#13 0x00007f238da22739 in _ecore_call_task_cb (data=<optimized out>, func=<optimized out>) at /home/lucas/p/e-svn/trunk/ecore/src/lib/ecore/ecore_private.h:265
#14 _ecore_idle_enterer_call () at /home/lucas/p/e-svn/trunk/ecore/src/lib/ecore/ecore_idle_enterer.c:234
#15 0x00007f238da24c1b in _ecore_main_loop_iterate_internal (once_only=once_only@entry=0) at /home/lucas/p/e-svn/trunk/ecore/src/lib/ecore/ecore_main.c:1826
#16 0x00007f238da252c7 in ecore_main_loop_begin () at /home/lucas/p/e-svn/trunk/ecore/src/lib/ecore/ecore_main.c:934
#17 0x0000000000436167 in main ()
Besides initializing the variables, there's no need to "goto" if the file
doesn't exist.... just return.
SVN revision: 78272
after some poking around and looking - terminology is taking about
800ms to start ... and we seem to use about 300ms or so of that time
statting files and tregistering them for file monitoring (the dirs
that are found there) and also handling a big batch of incoming file
monitor events for some reason even tho nothing changed.
this cuts down some time+noise, but we need to do a lot of work here. :(
SVN revision: 78108