It would be good to move to mempool as well. All nodes of each type are the same size... If we get the pool size right it might help debug.
On 6/17/09, Enlightenment SVN <[email protected]> wrote: > Log: > * ecore: Remove user of Ecore_List2 from ecore events. > > Author: cedric > Date: 2009-06-17 04:39:37 -0700 (Wed, 17 Jun 2009) > New Revision: 41070 > > Modified: > trunk/ecore/src/lib/ecore/ecore_anim.c > trunk/ecore/src/lib/ecore/ecore_events.c > trunk/ecore/src/lib/ecore/ecore_exe.c > trunk/ecore/src/lib/ecore/ecore_idle_enterer.c > trunk/ecore/src/lib/ecore/ecore_idle_exiter.c > trunk/ecore/src/lib/ecore/ecore_idler.c > trunk/ecore/src/lib/ecore/ecore_poll.c > trunk/ecore/src/lib/ecore/ecore_private.h > trunk/ecore/src/lib/ecore/ecore_timer.c > > Modified: trunk/ecore/src/lib/ecore/ecore_anim.c > =================================================================== > --- trunk/ecore/src/lib/ecore/ecore_anim.c 2009-06-17 11:13:11 UTC (rev > 41069) > +++ trunk/ecore/src/lib/ecore/ecore_anim.c 2009-06-17 11:39:37 UTC (rev > 41070) > @@ -46,7 +46,7 @@ > ECORE_MAGIC_SET(animator, ECORE_MAGIC_ANIMATOR); > animator->func = func; > animator->data = (void *)data; > - animators = _ecore_list2_append(animators, animator); > + animators = (Ecore_Animator *) > eina_inlist_append(EINA_INLIST_GET(animators), EINA_INLIST_GET(animator)); > if (!timer) > timer = ecore_timer_add(animators_frametime, _ecore_animator, NULL); > return animator; > @@ -125,7 +125,7 @@ > Ecore_Animator *animator; > > animator = animators; > - animators = _ecore_list2_remove(animators, animator); > + animators = (Ecore_Animator *) > eina_inlist_remove(EINA_INLIST_GET(animators), EINA_INLIST_GET(animators)); > ECORE_MAGIC_SET(animator, ECORE_MAGIC_NONE); > free(animator); > } > @@ -134,14 +134,10 @@ > static int > _ecore_animator(void *data __UNUSED__) > { > - Ecore_List2 *l; > + Ecore_Animator *animator; > > - for (l = (Ecore_List2 *)animators; l;) > + EINA_INLIST_FOREACH(animators, animator) > { > - Ecore_Animator *animator; > - > - animator = (Ecore_Animator *)l; > - l = l->next; > if (!animator->delete_me) > { > if (!animator->func(animator->data)) > @@ -153,15 +149,14 @@ > } > if (animators_delete_me) > { > - for (l = (Ecore_List2 *)animators; l;) > + Ecore_Animator *l; > + for(l = animators; l;) > { > - Ecore_Animator *animator; > - > - animator = (Ecore_Animator *)l; > - l = l->next; > + animator = l; > + l = (Ecore_Animator *) EINA_INLIST_GET(l)->next; > if (animator->delete_me) > { > - animators = _ecore_list2_remove(animators, animator); > + animators = (Ecore_Animator *) > eina_inlist_remove(EINA_INLIST_GET(animators), EINA_INLIST_GET(animator)); > ECORE_MAGIC_SET(animator, ECORE_MAGIC_NONE); > free(animator); > animators_delete_me--; > > Modified: trunk/ecore/src/lib/ecore/ecore_events.c > =================================================================== > --- trunk/ecore/src/lib/ecore/ecore_events.c 2009-06-17 11:13:11 UTC (rev > 41069) > +++ trunk/ecore/src/lib/ecore/ecore_events.c 2009-06-17 11:39:37 UTC (rev > 41070) > @@ -17,7 +17,7 @@ > static Ecore_Event_Handler **event_handlers = NULL; > static int event_handlers_num = 0; > static int event_handlers_alloc_num = 0; > -static Ecore_List2_Data *event_handlers_delete_list = NULL; > +static Eina_List *event_handlers_delete_list = NULL; > > static Ecore_Event_Filter *event_filters = NULL; > static int event_filters_delete_me = 0; > @@ -87,7 +87,7 @@ > event_handlers[i] = NULL; > } > } > - event_handlers[type] = _ecore_list2_append(event_handlers[type], eh); > + event_handlers[type] = (Ecore_Event_Handler *) > eina_inlist_append(EINA_INLIST_GET(event_handlers[type]), > EINA_INLIST_GET(eh)); > return eh; > } > > @@ -104,8 +104,6 @@ > EAPI void * > ecore_event_handler_del(Ecore_Event_Handler *event_handler) > { > - Ecore_List2_Data *node; > - > if (!ECORE_MAGIC_CHECK(event_handler, ECORE_MAGIC_EVENT_HANDLER)) > { > ECORE_MAGIC_FAIL(event_handler, ECORE_MAGIC_EVENT_HANDLER, > @@ -113,9 +111,7 @@ > return NULL; > } > event_handler->delete_me = 1; > - node = calloc(1, sizeof(Ecore_List2_Data)); > - node->data = event_handler; > - event_handlers_delete_list = > _ecore_list2_append(event_handlers_delete_list, node); > + event_handlers_delete_list = > eina_list_append(event_handlers_delete_list, event_handler); > return event_handler->data; > } > > @@ -226,7 +222,7 @@ > ef->func_filter = func_filter; > ef->func_end = func_end; > ef->data = (void *)data; > - event_filters = _ecore_list2_append(event_filters, ef); > + event_filters = (Ecore_Event_Filter *) > eina_inlist_append(EINA_INLIST_GET(event_filters), EINA_INLIST_GET(ef)); > return ef; > } > > @@ -296,38 +292,28 @@ > _ecore_event_shutdown(void) > { > int i; > + Ecore_Event_Handler *eh; > + Ecore_Event_Filter *ef; > > while (events) _ecore_event_del(events); > for (i = 0; i < event_handlers_num; i++) > { > while (event_handlers[i]) > { > - Ecore_Event_Handler *eh; > - > - eh = event_handlers[i]; > - event_handlers[i] = _ecore_list2_remove(event_handlers[i], eh); > - ECORE_MAGIC_SET(eh, ECORE_MAGIC_NONE); > - free(eh); > + event_handlers[i] = (Ecore_Event_Handler *) > eina_inlist_remove(EINA_INLIST_GET(event_handlers[i]), > EINA_INLIST_GET(event_handlers[i])); > + ECORE_MAGIC_SET(event_handlers[i], ECORE_MAGIC_NONE); > + free(event_handlers[i]); > } > } > - while (event_handlers_delete_list) > - { > - Ecore_List2_Data *ehd; > - > - ehd = event_handlers_delete_list; > - event_handlers_delete_list = > _ecore_list2_remove(event_handlers_delete_list, ehd); > - free(ehd); > - } > + EINA_LIST_FREE(event_handlers_delete_list, eh) > + free(eh); > if (event_handlers) free(event_handlers); > event_handlers = NULL; > event_handlers_num = 0; > event_handlers_alloc_num = 0; > - while (event_filters) > + while ((ef = event_filters)) > { > - Ecore_Event_Filter *ef; > - > - ef = event_filters; > - event_filters = _ecore_list2_remove(event_filters, ef); > + event_filters = (Ecore_Event_Filter *) > eina_inlist_remove(EINA_INLIST_GET(event_filters), > EINA_INLIST_GET(event_filters)); > ECORE_MAGIC_SET(ef, ECORE_MAGIC_NONE); > free(ef); > } > @@ -353,7 +339,7 @@ > e->event = ev; > e->func_free = func_free; > e->data = data; > - events = _ecore_list2_append(events, e); > + events = (Ecore_Event *) eina_inlist_append(EINA_INLIST_GET(events), > EINA_INLIST_GET(e)); > events_num++; > return e; > } > @@ -365,7 +351,7 @@ > > data = event->data; > if (event->func_free) event->func_free(event->data, event->event); > - events = _ecore_list2_remove(events, event); > + events = (Ecore_Event *) eina_inlist_remove(EINA_INLIST_GET(events), > EINA_INLIST_GET(event)); > ECORE_MAGIC_SET(event, ECORE_MAGIC_NONE); > free(event); > events_num--; > @@ -375,23 +361,19 @@ > void > _ecore_event_call(void) > { > - Ecore_List2 *l, *ll; > Ecore_Event *e; > Ecore_Event_Filter *ef; > Ecore_Event_Handler *eh; > - Ecore_List2_Data *ehd; > int handle_count; > > - for (l = (Ecore_List2 *)event_filters; l; l = l->next) > + EINA_INLIST_FOREACH(event_filters, ef) > { > - ef = (Ecore_Event_Filter *)l; > if (!ef->delete_me) > { > if (ef->func_start) > ef->loop_data = ef->func_start(ef->data); > - for (ll = (Ecore_List2 *)events; ll; ll = ll->next) > + EINA_INLIST_FOREACH(events, e) > { > - e = (Ecore_Event *)ll; > if (!ef->func_filter(ef->loop_data, ef->data, > e->type, e->event)) > { > @@ -405,13 +387,14 @@ > } > if (event_filters_delete_me) > { > - for (l = (Ecore_List2 *)event_filters; l;) > + Ecore_Event_Filter *l; > + EINA_INLIST_FOREACH(event_filters, l) > { > - ef = (Ecore_Event_Filter *)l; > - l = l->next; > + ef = l; > + l = (Ecore_Event_Filter *) EINA_INLIST_GET(l)->next; > if (ef->delete_me) > { > - event_filters = _ecore_list2_remove(event_filters, ef); > + event_filters = (Ecore_Event_Filter *) > eina_inlist_remove(EINA_INLIST_GET(event_filters), EINA_INLIST_GET(ef)); > ECORE_MAGIC_SET(ef, ECORE_MAGIC_NONE); > free(ef); > } > @@ -419,9 +402,8 @@ > event_filters_delete_me = 0; > } > // printf("EVENT BATCH...\n"); > - for (l = (Ecore_List2 *)events; l; l = l->next) > + EINA_INLIST_FOREACH(events, e) > { > - e = (Ecore_Event *)l; > if (!e->delete_me) > { > handle_count = 0; > @@ -430,9 +412,8 @@ > // printf("HANDLE ev type %i, %p\n", e->type, e->event); > if ((e->type >= 0) && (e->type < event_handlers_num)) > { > - for (ll = (Ecore_List2 *)event_handlers[e->type]; ll; ll = > ll->next) > + EINA_INLIST_FOREACH(event_handlers[e->type], eh) > { > - eh = (Ecore_Event_Handler *)ll; > if (!eh->delete_me) > { > handle_count++; > @@ -451,16 +432,13 @@ > ecore_raw_event_type = ECORE_EVENT_NONE; > ecore_raw_event_event = NULL; > > - while (events) _ecore_event_del(events); > - while (event_handlers_delete_list) > + while (events) _ecore_event_del((Ecore_Event *) events); > + EINA_LIST_FREE(event_handlers_delete_list, eh) > { > - ehd = event_handlers_delete_list; > - eh = ehd->data; > - event_handlers[eh->type] = _ecore_list2_remove(event_handlers[eh->type], > eh); > - event_handlers_delete_list = > _ecore_list2_remove(event_handlers_delete_list, ehd); > + event_handlers[eh->type] = (Ecore_Event_Handler *) > eina_inlist_remove(EINA_INLIST_GET(event_handlers[eh->type]), > EINA_INLIST_GET(eh)); > + event_handlers_delete_list = > eina_list_remove(event_handlers_delete_list, > eh); > ECORE_MAGIC_SET(eh, ECORE_MAGIC_NONE); > free(eh); > - free(ehd); > } > } > > > Modified: trunk/ecore/src/lib/ecore/ecore_exe.c > =================================================================== > --- trunk/ecore/src/lib/ecore/ecore_exe.c 2009-06-17 11:13:11 UTC (rev > 41069) > +++ trunk/ecore/src/lib/ecore/ecore_exe.c 2009-06-17 11:39:37 UTC (rev > 41070) > @@ -582,7 +582,7 @@ > } > } > > - exes = _ecore_list2_append(exes, exe); > + exes = (Ecore_Exe *) eina_inlist_append(EINA_INLIST_GET(exes), > EINA_INLIST_GET(exe)); > n = 0; > } > else > @@ -959,7 +959,7 @@ > IF_FREE(exe->error_data_buf); > IF_FREE(exe->cmd); > > - exes = _ecore_list2_remove(exes, exe); > + exes = (Ecore_Exe *) eina_inlist_remove(EINA_INLIST_GET(exes), > EINA_INLIST_GET(exe)); > ECORE_MAGIC_SET(exe, ECORE_MAGIC_NONE); > IF_FREE(exe->tag); > free(exe); > @@ -1302,13 +1302,9 @@ > Ecore_Exe * > _ecore_exe_find(pid_t pid) > { > - Ecore_List2 *l; > - > - for (l = (Ecore_List2 *) exes; l; l = l->next) > + Ecore_Exe *exe; > + EINA_INLIST_FOREACH(exes, exe) > { > - Ecore_Exe *exe; > - > - exe = (Ecore_Exe *) l; > if (exe->pid == pid) > return exe; > } > > Modified: trunk/ecore/src/lib/ecore/ecore_idle_enterer.c > =================================================================== > --- trunk/ecore/src/lib/ecore/ecore_idle_enterer.c 2009-06-17 11:13:11 UTC > (rev 41069) > +++ trunk/ecore/src/lib/ecore/ecore_idle_enterer.c 2009-06-17 11:39:37 UTC > (rev 41070) > @@ -33,7 +33,7 @@ > ECORE_MAGIC_SET(ie, ECORE_MAGIC_IDLE_ENTERER); > ie->func = func; > ie->data = (void *)data; > - idle_enterers = _ecore_list2_append(idle_enterers, ie); > + idle_enterers = (Ecore_Idle_Enterer *) > eina_inlist_append(EINA_INLIST_GET(idle_enterers), EINA_INLIST_GET(ie)); > return ie; > } > > @@ -56,7 +56,7 @@ > ECORE_MAGIC_SET(ie, ECORE_MAGIC_IDLE_ENTERER); > ie->func = func; > ie->data = (void *)data; > - idle_enterers = _ecore_list2_prepend(idle_enterers, ie); > + idle_enterers = (Ecore_Idle_Enterer *) > eina_inlist_prepend(EINA_INLIST_GET(idle_enterers), EINA_INLIST_GET(ie)); > return ie; > } > > @@ -84,12 +84,10 @@ > void > _ecore_idle_enterer_shutdown(void) > { > - while (idle_enterers) > + Ecore_Idle_Enterer *ie; > + while ((ie = idle_enterers)) > { > - Ecore_Idle_Enterer *ie; > - > - ie = idle_enterers; > - idle_enterers = _ecore_list2_remove(idle_enterers, ie); > + idle_enterers = (Ecore_Idle_Enterer *) > eina_inlist_remove(EINA_INLIST_GET(idle_enterers), > EINA_INLIST_GET(idle_enterers)); > ECORE_MAGIC_SET(ie, ECORE_MAGIC_NONE); > free(ie); > } > @@ -99,33 +97,25 @@ > void > _ecore_idle_enterer_call(void) > { > - Ecore_List2 *l, *last; > + Ecore_Idle_Enterer *ie; > > - last = idle_enterers ? ((Ecore_List2 *)idle_enterers)->last : NULL; > - > - for (l = (Ecore_List2 *)idle_enterers; l; l = l->next) > + EINA_INLIST_FOREACH(idle_enterers, ie) > { > - Ecore_Idle_Enterer *ie; > - > - ie = (Ecore_Idle_Enterer *)l; > if (!ie->delete_me) > { > if (!ie->func(ie->data)) ecore_idle_enterer_del(ie); > } > - > - if (l == last) break; > } > if (idle_enterers_delete_me) > { > - for (l = (Ecore_List2 *)idle_enterers; l;) > + Ecore_Idle_Enterer *l; > + for(l = idle_enterers; l;) > { > - Ecore_Idle_Enterer *ie; > - > - ie = (Ecore_Idle_Enterer *)l; > - l = l->next; > + ie = l; > + l = (Ecore_Idle_Enterer *) EINA_INLIST_GET(l)->next; > if (ie->delete_me) > { > - idle_enterers = _ecore_list2_remove(idle_enterers, ie); > + idle_enterers = (Ecore_Idle_Enterer *) > eina_inlist_remove(EINA_INLIST_GET(idle_enterers), EINA_INLIST_GET(ie)); > ECORE_MAGIC_SET(ie, ECORE_MAGIC_NONE); > free(ie); > } > > Modified: trunk/ecore/src/lib/ecore/ecore_idle_exiter.c > =================================================================== > --- trunk/ecore/src/lib/ecore/ecore_idle_exiter.c 2009-06-17 11:13:11 UTC > (rev 41069) > +++ trunk/ecore/src/lib/ecore/ecore_idle_exiter.c 2009-06-17 11:39:37 UTC > (rev 41070) > @@ -32,7 +32,7 @@ > ECORE_MAGIC_SET(ie, ECORE_MAGIC_IDLE_EXITER); > ie->func = func; > ie->data = (void *)data; > - idle_exiters = _ecore_list2_append(idle_exiters, ie); > + idle_exiters = (Ecore_Idle_Exiter *) > eina_inlist_append(EINA_INLIST_GET(idle_exiters), EINA_INLIST_GET(ie)); > return ie; > } > > @@ -60,12 +60,10 @@ > void > _ecore_idle_exiter_shutdown(void) > { > - while (idle_exiters) > + Ecore_Idle_Exiter *ie; > + while ((ie = idle_exiters)) > { > - Ecore_Idle_Exiter *ie; > - > - ie = idle_exiters; > - idle_exiters = _ecore_list2_remove(idle_exiters, ie); > + idle_exiters = (Ecore_Idle_Exiter *) > eina_inlist_remove(EINA_INLIST_GET(idle_exiters), > EINA_INLIST_GET(idle_exiters)); > ECORE_MAGIC_SET(ie, ECORE_MAGIC_NONE); > free(ie); > } > @@ -75,33 +73,26 @@ > void > _ecore_idle_exiter_call(void) > { > - Ecore_List2 *l, *last; > + Ecore_Idle_Exiter *ie; > > - last = idle_exiters ? ((Ecore_List2 *)idle_exiters)->last : NULL; > - > - for (l = (Ecore_List2 *)idle_exiters; l; l = l->next) > + EINA_INLIST_FOREACH(idle_exiters, ie) > { > - Ecore_Idle_Exiter *ie; > - > - ie = (Ecore_Idle_Exiter *)l; > if (!ie->delete_me) > { > if (!ie->func(ie->data)) ecore_idle_exiter_del(ie); > } > - > - if (l == last) break; > } > if (idle_exiters_delete_me) > { > - for (l = (Ecore_List2 *)idle_exiters; l;) > + Ecore_Idle_Exiter *l; > + for (l = idle_exiters; l;) > { > - Ecore_Idle_Exiter *ie; > + ie = l; > > - ie = (Ecore_Idle_Exiter *)l; > - l = l->next; > + l = (Ecore_Idle_Exiter *) EINA_INLIST_GET(l)->next; > if (ie->delete_me) > { > - idle_exiters = _ecore_list2_remove(idle_exiters, ie); > + idle_exiters = (Ecore_Idle_Exiter *) > eina_inlist_remove(EINA_INLIST_GET(idle_exiters), EINA_INLIST_GET(ie)); > ECORE_MAGIC_SET(ie, ECORE_MAGIC_NONE); > free(ie); > } > > Modified: trunk/ecore/src/lib/ecore/ecore_idler.c > =================================================================== > --- trunk/ecore/src/lib/ecore/ecore_idler.c 2009-06-17 11:13:11 UTC (rev > 41069) > +++ trunk/ecore/src/lib/ecore/ecore_idler.c 2009-06-17 11:39:37 UTC (rev > 41070) > @@ -40,7 +40,7 @@ > ECORE_MAGIC_SET(ie, ECORE_MAGIC_IDLER); > ie->func = func; > ie->data = (void *)data; > - idlers = _ecore_list2_append(idlers, ie); > + idlers = (Ecore_Idler *) eina_inlist_append(EINA_INLIST_GET(idlers), > EINA_INLIST_GET(ie)); > return ie; > } > > @@ -68,12 +68,10 @@ > void > _ecore_idler_shutdown(void) > { > - while (idlers) > + Ecore_Idler *ie; > + while ((ie = idlers)) > { > - Ecore_Idler *ie; > - > - ie = idlers; > - idlers = _ecore_list2_remove(idlers, ie); > + idlers = (Ecore_Idler *) eina_inlist_remove(EINA_INLIST_GET(idlers), > EINA_INLIST_GET(idlers)); > ECORE_MAGIC_SET(ie, ECORE_MAGIC_NONE); > free(ie); > } > @@ -83,33 +81,25 @@ > int > _ecore_idler_call(void) > { > - Ecore_List2 *l, *last; > + Ecore_Idler *ie; > > - last = idlers ? ((Ecore_List2 *)idlers)->last : NULL; > - > - for (l = (Ecore_List2 *)idlers; l; l = l->next) > + EINA_INLIST_FOREACH(idlers, ie) > { > - Ecore_Idler *ie; > - > - ie = (Ecore_Idler *)l; > if (!ie->delete_me) > { > if (!ie->func(ie->data)) ecore_idler_del(ie); > } > - > - if (l == last) break; > } > if (idlers_delete_me) > { > - for (l = (Ecore_List2 *)idlers; l;) > + Ecore_Idler *l; > + for (l = idlers; l;) > { > - Ecore_Idler *ie; > - > - ie = (Ecore_Idler *)l; > - l = l->next; > + ie = l; > + l = (Ecore_Idler *) EINA_INLIST_GET(l)->next; > if (ie->delete_me) > { > - idlers = _ecore_list2_remove(idlers, ie); > + idlers = (Ecore_Idler *) > eina_inlist_remove(EINA_INLIST_GET(idlers), > EINA_INLIST_GET(ie)); > ECORE_MAGIC_SET(ie, ECORE_MAGIC_NONE); > free(ie); > } > > Modified: trunk/ecore/src/lib/ecore/ecore_poll.c > =================================================================== > --- trunk/ecore/src/lib/ecore/ecore_poll.c 2009-06-17 11:13:11 UTC (rev > 41069) > +++ trunk/ecore/src/lib/ecore/ecore_poll.c 2009-06-17 11:39:37 UTC (rev > 41070) > @@ -98,8 +98,7 @@ > _ecore_poller_cb_timer(void *data __UNUSED__) > { > int i; > - Ecore_List2 *l; > - Ecore_Poller *poller; > + Ecore_Poller *poller, *l; > int changes = 0; > > at_tick++; > @@ -123,9 +122,8 @@ > * tick interval, so run all pollers hooked to that counter */ > if (poller_counters[i] == 0) > { > - for (l = (Ecore_List2 *)pollers[i]; l; l = l->next) > + EINA_INLIST_FOREACH(pollers[i], poller) > { > - poller = (Ecore_Poller *)l; > if (!poller->delete_me) > { > if (!poller->func(poller->data)) > @@ -148,13 +146,13 @@ > /* FIXME: walk all pollers and remove deleted ones */ > for (i = 0; i < 15; i++) > { > - for (l = (Ecore_List2 *)pollers[i]; l;) > + for (l = pollers[i]; l;) > { > - poller = (Ecore_Poller *)l; > - l = l->next; > + poller = l; > + l = (Ecore_Poller *) EINA_INLIST_GET(l)->next; > if (poller->delete_me) > { > - pollers[poller->ibit] = > _ecore_list2_remove(pollers[poller->ibit], > poller); > + pollers[i] = (Ecore_Poller *) > eina_inlist_remove(EINA_INLIST_GET(pollers[i]), EINA_INLIST_GET(poller)); > free(poller); > poller_delete_count--; > changes++; > @@ -297,7 +295,7 @@ > poller->ibit = ibit; > poller->func = func; > poller->data = (void *)data; > - pollers[poller->ibit] = _ecore_list2_prepend(pollers[poller->ibit], > poller); > + pollers[poller->ibit] = (Ecore_Poller *) > eina_inlist_prepend(EINA_INLIST_GET(pollers[poller->ibit]), > EINA_INLIST_GET(poller)); > if (poller_walking) > just_added_poller++; > else > @@ -337,7 +335,7 @@ > } > /* not in loop so safe - delete immediately */ > data = poller->data; > - pollers[poller->ibit] = _ecore_list2_remove(pollers[poller->ibit], > poller); > + pollers[poller->ibit] = (Ecore_Poller *) > eina_inlist_remove(EINA_INLIST_GET(pollers[poller->ibit]), > EINA_INLIST_GET(poller)); > free(poller); > _ecore_poller_next_tick_eval(); > return data; > @@ -347,16 +345,13 @@ > _ecore_poller_shutdown(void) > { > int i; > - Ecore_List2 *l; > Ecore_Poller *poller; > > for (i = 0; i < 15; i++) > { > - for (l = (Ecore_List2 *)pollers[i]; l;) > + while ((poller = pollers[i])) > { > - poller = (Ecore_Poller *)l; > - l = l->next; > - pollers[poller->ibit] = _ecore_list2_remove(pollers[poller->ibit], > poller); > + pollers[i] = (Ecore_Poller *) > eina_inlist_remove(EINA_INLIST_GET(pollers[i]), > EINA_INLIST_GET(pollers[i])); > free(poller); > } > } > > Modified: trunk/ecore/src/lib/ecore/ecore_private.h > =================================================================== > --- trunk/ecore/src/lib/ecore/ecore_private.h 2009-06-17 11:13:11 UTC (rev > 41069) > +++ trunk/ecore/src/lib/ecore/ecore_private.h 2009-06-17 11:39:37 UTC (rev > 41070) > @@ -240,7 +240,7 @@ > #ifndef _WIN32 > struct _Ecore_Exe > { > - Ecore_List2 __list_data; > + EINA_INLIST; > ECORE_MAGIC; > pid_t pid; > void *data; > @@ -276,7 +276,7 @@ > > struct _Ecore_Timer > { > - Ecore_List2 __list_data; > + EINA_INLIST; > ECORE_MAGIC; > double in; > double at; > @@ -290,7 +290,7 @@ > > struct _Ecore_Idler > { > - Ecore_List2 __list_data; > + EINA_INLIST; > ECORE_MAGIC; > int delete_me : 1; > int (*func) (void *data); > @@ -299,7 +299,7 @@ > > struct _Ecore_Idle_Enterer > { > - Ecore_List2 __list_data; > + EINA_INLIST; > ECORE_MAGIC; > int delete_me : 1; > int (*func) (void *data); > @@ -308,7 +308,7 @@ > > struct _Ecore_Idle_Exiter > { > - Ecore_List2 __list_data; > + EINA_INLIST; > ECORE_MAGIC; > int delete_me : 1; > int (*func) (void *data); > @@ -335,7 +335,7 @@ > > struct _Ecore_Event_Handler > { > - Ecore_List2 __list_data; > + EINA_INLIST; > ECORE_MAGIC; > int type; > int delete_me : 1; > @@ -345,7 +345,7 @@ > > struct _Ecore_Event_Filter > { > - Ecore_List2 __list_data; > + EINA_INLIST; > ECORE_MAGIC; > int delete_me : 1; > void * (*func_start) (void *data); > @@ -357,7 +357,7 @@ > > struct _Ecore_Event > { > - Ecore_List2 __list_data; > + EINA_INLIST; > ECORE_MAGIC; > int type; > void *event; > @@ -368,7 +368,7 @@ > > struct _Ecore_Animator > { > - Ecore_List2 __list_data; > + EINA_INLIST; > ECORE_MAGIC; > unsigned char delete_me : 1; > int (*func) (void *data); > @@ -377,7 +377,7 @@ > > struct _Ecore_Poller > { > - Ecore_List2 __list_data; > + EINA_INLIST; > ECORE_MAGIC; > int ibit; > unsigned char delete_me : 1; > > Modified: trunk/ecore/src/lib/ecore/ecore_timer.c > =================================================================== > --- trunk/ecore/src/lib/ecore/ecore_timer.c 2009-06-17 11:13:11 UTC (rev > 41069) > +++ trunk/ecore/src/lib/ecore/ecore_timer.c 2009-06-17 11:39:37 UTC (rev > 41070) > @@ -227,7 +227,7 @@ > } > else > { > - timers = _ecore_list2_remove(timers, timer); > + timers = (Ecore_Timer *) eina_inlist_remove(EINA_INLIST_GET(timers), > EINA_INLIST_GET(timer)); > _ecore_timer_set(timer, timer->at + add, timer->in, timer->func, > timer->data); > } > } > @@ -277,8 +277,8 @@ > if (timer->frozen) > return ; > > - timers = _ecore_list2_remove(timers, timer); > - suspended = _ecore_list2_prepend(suspended, timer); > + timers = (Ecore_Timer *) eina_inlist_remove(EINA_INLIST_GET(timers), > EINA_INLIST_GET(timer)); > + suspended = (Ecore_Timer *) > eina_inlist_prepend(EINA_INLIST_GET(suspended), EINA_INLIST_GET(timer)); > > now = ecore_time_get(); > > @@ -303,7 +303,7 @@ > if (!timer->frozen) > return ; > > - suspended = _ecore_list2_remove(suspended, timer); > + suspended = (Ecore_Timer *) > eina_inlist_remove(EINA_INLIST_GET(suspended), EINA_INLIST_GET(timer)); > now = ecore_time_get(); > > _ecore_timer_set(timer, timer->pending + now, timer->in, timer->func, > timer->data); > @@ -312,22 +312,18 @@ > void > _ecore_timer_shutdown(void) > { > - while (timers) > - { > - Ecore_Timer *timer; > + Ecore_Timer *timer; > > - timer = timers; > - timers = _ecore_list2_remove(timers, timer); > + while ((timer = timers)) > + { > + timers = (Ecore_Timer *) eina_inlist_remove(EINA_INLIST_GET(timers), > EINA_INLIST_GET(timers)); > ECORE_MAGIC_SET(timer, ECORE_MAGIC_NONE); > free(timer); > } > > - while (suspended) > + while ((timer = suspended)) > { > - Ecore_Timer *timer; > - > - timer = suspended; > - suspended = _ecore_list2_remove(suspended, timer); > + suspended = (Ecore_Timer *) > eina_inlist_remove(EINA_INLIST_GET(suspended), EINA_INLIST_GET(suspended)); > ECORE_MAGIC_SET(timer, ECORE_MAGIC_NONE); > free(timer); > } > @@ -336,33 +332,31 @@ > void > _ecore_timer_cleanup(void) > { > - Ecore_List2 *l; > + Ecore_Timer *l; > > if (!timers_delete_me) return; > - for (l = (Ecore_List2 *)timers; l;) > + for (l = timers; l;) > { > - Ecore_Timer *timer; > + Ecore_Timer *timer = l; > > - timer = (Ecore_Timer *)l; > - l = l->next; > + l = (Ecore_Timer *) EINA_INLIST_GET(l)->next; > if (timer->delete_me) > { > - timers = _ecore_list2_remove(timers, timer); > + timers = (Ecore_Timer *) > eina_inlist_remove(EINA_INLIST_GET(timers), > EINA_INLIST_GET(timer)); > ECORE_MAGIC_SET(timer, ECORE_MAGIC_NONE); > free(timer); > timers_delete_me--; > if (timers_delete_me == 0) return; > } > } > - for (l = (Ecore_List2 *)suspended; l;) > + for (l = suspended; l;) > { > - Ecore_Timer *timer; > + Ecore_Timer *timer = l; > > - timer = (Ecore_Timer *)l; > - l = l->next; > + l = (Ecore_Timer *) EINA_INLIST_GET(l)->next; > if (timer->delete_me) > { > - suspended = _ecore_list2_remove(suspended, timer); > + suspended = (Ecore_Timer *) > eina_inlist_remove(EINA_INLIST_GET(suspended), EINA_INLIST_GET(timer)); > ECORE_MAGIC_SET(timer, ECORE_MAGIC_NONE); > free(timer); > timers_delete_me--; > @@ -375,26 +369,21 @@ > void > _ecore_timer_enable_new(void) > { > - Ecore_List2 *l; > + Ecore_Timer *timer; > > if (!timers_added) return; > timers_added = 0; > - for (l = (Ecore_List2 *)timers; l; l = l->next) > - { > - Ecore_Timer *timer; > - > - timer = (Ecore_Timer *)l; > + EINA_INLIST_FOREACH(timers, timer) > timer->just_added = 0; > - } > } > > static inline Ecore_Timer * > _ecore_timer_first_get(void) > { > - Ecore_Timer *timer = (Ecore_Timer *)timers; > + Ecore_Timer *timer = timers; > > while ((timer) && ((timer->delete_me) || (timer->just_added))) > - timer = (Ecore_Timer *)((Ecore_List2 *)timer)->next; > + timer = (Ecore_Timer *) EINA_INLIST_GET(timer)->next; > > return timer; > } > @@ -402,11 +391,11 @@ > static inline Ecore_Timer * > _ecore_timer_after_get(Ecore_Timer *base) > { > - Ecore_Timer *timer = (Ecore_Timer *)((Ecore_List2 *)base)->next; > + Ecore_Timer *timer = (Ecore_Timer *) EINA_INLIST_GET(base)->next; > double maxtime = base->at + precision; > > while ((timer) && ((timer->delete_me) || (timer->just_added)) && > (timer->at <= maxtime)) > - timer = (Ecore_Timer *)((Ecore_List2 *)timer)->next; > + timer = (Ecore_Timer *) EINA_INLIST_GET(timer)->next; > > if ((!timer) || (timer->at > maxtime)) > return NULL; > @@ -437,28 +426,25 @@ > int > _ecore_timer_call(double when) > { > - Ecore_List2 *l; > - Ecore_Timer *timer; > + Ecore_Timer *timer, *l; > > if (!timers) return 0; > if (last_check > when) > { > /* User set time backwards */ > - for (l = (Ecore_List2 *)timers; l; l = l->next) > - { > - timer = (Ecore_Timer *)l; > + EINA_INLIST_FOREACH(timers, timer) > timer->at -= (last_check - when); > - } > } > last_check = when; > - for (l = (Ecore_List2 *)timers; l; l = l->next) > + for (l = timers; l;) > { > - timer = (Ecore_Timer *)l; > + timer = l; > + l = (Ecore_Timer *) EINA_INLIST_GET(l)->next; > if ((timer->at <= when) && > (timer->just_added == 0) && > (timer->delete_me == 0)) > { > - timers = _ecore_list2_remove(timers, timer); > + timers = (Ecore_Timer *) > eina_inlist_remove(EINA_INLIST_GET(timers), > EINA_INLIST_GET(timer)); > _ecore_timer_call(when); > if ((!timer->delete_me) && (timer->func(timer->data))) > { > @@ -492,7 +478,7 @@ > static void > _ecore_timer_set(Ecore_Timer *timer, double at, double in, int (*func) > (void *data), void *data) > { > - Ecore_List2 *l; > + Ecore_Timer *t2; > > timers_added = 1; > timer->at = at; > @@ -504,17 +490,14 @@ > timer->pending = 0.0; > if (timers) > { > - for (l = ((Ecore_List2 *)(timers))->last; l; l = l->prev) > + EINA_INLIST_REVERSE_FOREACH(EINA_INLIST_GET(timers), t2) > { > - Ecore_Timer *t2; > - > - t2 = (Ecore_Timer *)l; > if (timer->at > t2->at) > { > - timers = _ecore_list2_append_relative(timers, timer, t2); > + timers = (Ecore_Timer *) > eina_inlist_append_relative(EINA_INLIST_GET(timers), EINA_INLIST_GET(timer), > EINA_INLIST_GET(t2)); > return; > } > } > } > - timers = _ecore_list2_prepend(timers, timer); > + timers = (Ecore_Timer *) eina_inlist_prepend(EINA_INLIST_GET(timers), > EINA_INLIST_GET(timer)); > } > > > ------------------------------------------------------------------------------ > Crystal Reports - New Free Runtime and 30 Day Trial > Check out the new simplified licensing option that enables unlimited > royalty-free distribution of the report engine for externally facing > server and web deployment. > http://p.sf.net/sfu/businessobjects > _______________________________________________ > enlightenment-svn mailing list > [email protected] > https://lists.sourceforge.net/lists/listinfo/enlightenment-svn > -- Sent from my mobile device Gustavo Sverzut Barbieri http://profusion.mobi embedded systems -------------------------------------- MSN: [email protected] Skype: gsbarbieri Mobile: +55 (19) 9225-2202 ------------------------------------------------------------------------------ Crystal Reports - New Free Runtime and 30 Day Trial Check out the new simplified licensing option that enables unlimited royalty-free distribution of the report engine for externally facing server and web deployment. http://p.sf.net/sfu/businessobjects _______________________________________________ enlightenment-devel mailing list [email protected] https://lists.sourceforge.net/lists/listinfo/enlightenment-devel
