ok, eina macro issue again. the object del function of e_module modifies the list. going to fix it now
On Fri, Sep 4, 2009 at 10:14 PM, hannes.janet...@gmail.com<hannes.janet...@googlemail.com> wrote: > tried with just the default ones. ok there is more a system to it: > exactly every second module is not unloaded :) > try this e_module.c yourself. it prints out which modules are in the > list and which become freed. ok the reason why would be worth > investigating. just my stack is pretty overloaded atm. > http://pastie.org/private/9pf6c4us8vea0svfvjr9xq > > On Fri, Sep 4, 2009 at 9:50 PM, Christopher > Michael<cpmicha...@comcast.net> wrote: >> What modules are you running ? I searched all the existing code in both >> E's modules, and E-MODULES-EXTRA and did not find where anything is >> modifying the list... >> >> dh >> >> Enlightenment SVN wrote: >>> Log: >>> e17:shutdown all modules >>> >>> Author: jeffdameth >>> Date: 2009-09-04 12:43:10 -0700 (Fri, 04 Sep 2009) >>> New Revision: 42262 >>> >>> Modified: >>> trunk/e/src/bin/e_module.c >>> >>> Modified: trunk/e/src/bin/e_module.c >>> =================================================================== >>> --- trunk/e/src/bin/e_module.c 2009-09-04 19:27:12 UTC (rev 42261) >>> +++ trunk/e/src/bin/e_module.c 2009-09-04 19:43:10 UTC (rev 42262) >>> @@ -37,7 +37,8 @@ >>> e_module_shutdown(void) >>> { >>> E_Module *m; >>> - >>> + Eina_List *l; >>> + >>> #ifdef HAVE_VALGRIND >>> /* do a leak check now before we dlclose() all those plugins, cause >>> * that means we won't get a decent backtrace to leaks in there >>> @@ -45,10 +46,15 @@ >>> VALGRIND_DO_LEAK_CHECK >>> #endif >>> >>> - _e_modules = eina_list_reverse(_e_modules); >>> - >>> - EINA_LIST_FREE(_e_modules, m) >>> + // whats was this for? modules should not depend on each others load >>> order >>> + // _e_modules = eina_list_reverse(_e_modules); >>> + >>> + /* FIXME there seems to be a module that modifies _e_modules here >>> + * dont use EINA_LIST_FREE until solved! */ >>> + EINA_LIST_FOREACH(_e_modules, l, m) >>> { >>> + printf("shutdown module: %s\n", m->name); >>> + >>> if (m && m->enabled && !m->error) >>> { >>> m->func.save(m); >>> @@ -58,6 +64,10 @@ >>> e_object_del(E_OBJECT(m)); >>> } >>> >>> + if (_e_modules) >>> + eina_list_free(_e_modules); >>> + _e_modules = NULL; >>> + >>> return 1; >>> } >>> >>> >> >> ------------------------------------------------------------------------------ >> Let Crystal Reports handle the reporting - Free Crystal Reports 2008 30-Day >> trial. Simplify your report design, integration and deployment - and focus on >> what you do best, core application coding. Discover what's new with >> Crystal Reports now. http://p.sf.net/sfu/bobj-july >> _______________________________________________ >> enlightenment-devel mailing list >> enlightenment-devel@lists.sourceforge.net >> https://lists.sourceforge.net/lists/listinfo/enlightenment-devel >> > ------------------------------------------------------------------------------ Let Crystal Reports handle the reporting - Free Crystal Reports 2008 30-Day trial. Simplify your report design, integration and deployment - and focus on what you do best, core application coding. Discover what's new with Crystal Reports now. http://p.sf.net/sfu/bobj-july _______________________________________________ enlightenment-devel mailing list enlightenment-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/enlightenment-devel