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

Reply via email to