People, when you go and change ecore_event_add() to
_ecore_event_add(), please NOTICE THAT THE FREE FUNCTION IS NOT
AUTOMATICALLY SPECIFIED!
So specify these functions to _ecore_event_add() to stop leaking every
signal we receive from system.
SVN revision: 70177
Subject: [E-devel] [patch] ecore doxygen doc (2)
Date: Thu, 12 Apr 2012 12:46:04 +0900
Hi,
This is a big patch. It fixes:
- undef #EINA_{TRUE,FALSE} links
- @c for NULL and EINA_{TRUE,FALSE}
- some formatting/spello
- several missing return types
SVN revision: 70117
documentation.
I didn't add the API declaration into the header yet because the API
name/parameter might be changed before release.
SVN revision: 69990
I found a bug in ecore main loop while debuging cpu 100% issue on RSS
application.
1. [RSS] RSS application register two io watch callbacks(for G_IO_IN,
G_IO_OUT seperately) for a GIOChannel with g_io_add_watch().
2. [ecore] In _ecore_glib_context_query() function, g_main_context_query()
returns a fd list, and it has 2 fd items for the GIOChannel (channel
id = 20).
itr[0] (16, 1, 0)
itr[1] (15, 1, 0)
itr[2] (20, 1, 0) (G_IO_IN, 0)
itr[3] (20, 4, 0) (G_IO_OUT, 0)
itr[4] (18, 1, 0)
3. [ecore] In _ecore_glib_context_poll_from() function, create read, write,
exception fd list according to the events flags of each fd item.
[6 15 16 18 20], [20], []
4. [ecore] in _ecore_glib_select__locked() function, get active fd number from
select() call
select(21, [6 15 16 18 20], [20], [], NULL) = 1 (out [20])
5. [ecore] In _ecore_glib_context_poll_to() function, there is a bug on
setting revents flag.
(because of incorrect condition check - currently, the logic of the
function cannot handle this case)
itr[0] (16, 1, 0)
itr[1] (15, 1, 0)
itr[2] (20, 1, 4) (set incorrectly)
itr[3] (20, 4, 0) => this should be set as (20, 4, 4)!!!!
itr[4] (18, 1, 0)
6. [ecore] In _ecore_glib_select__locked(), g_main_context_check() function
returns false because of the above bug, so g_main_context_dispatch()
function will not be called.
>> After this, the 2~6 flow is executed repeatedly on ecore main loop
(because 20 out is still active fd) and this makes cpu 100% problem.
SVN revision: 69739
NOTE: I am now all for removing this lock. They trigger crash,
are not implementing the feature they are advertising, are not
maintained and impossible to fix.
SVN revision: 68987
NOTES: It is now safer and faster. I doubt I will have more time before the release to finish
ecore_thread_message_run, nor to make the shutdown nicer.
SVN revision: 68164