forked from enlightenment/efl
ecore: free futures which are still pending on shutdown
otherwise we are leaking a eina list. This was discovered while running the elm_suite with CK_FORK=no, since ecore and eina are init´ed and shutdown´ed, after the shutdown this list points to freeed memory pools. So in the next testcase the list is invalid and crashes. This fixes it with freeing the list on shutdown.
This commit is contained in:
parent
45b103eb0a
commit
f63ede4281
|
@ -1598,6 +1598,8 @@ ecore_main_fd_handler_active_set(Ecore_Fd_Handler *fd_handler,
|
||||||
void
|
void
|
||||||
_ecore_main_shutdown(void)
|
_ecore_main_shutdown(void)
|
||||||
{
|
{
|
||||||
|
Efl_Future *future;
|
||||||
|
|
||||||
if (in_main_loop)
|
if (in_main_loop)
|
||||||
{
|
{
|
||||||
ERR("\n"
|
ERR("\n"
|
||||||
|
@ -1605,6 +1607,10 @@ _ecore_main_shutdown(void)
|
||||||
"*** Program may crash or behave strangely now.");
|
"*** Program may crash or behave strangely now.");
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
EINA_LIST_FREE(_pending_futures, future)
|
||||||
|
efl_del(future);
|
||||||
|
|
||||||
while (fd_handlers)
|
while (fd_handlers)
|
||||||
{
|
{
|
||||||
Ecore_Fd_Handler *fdh;
|
Ecore_Fd_Handler *fdh;
|
||||||
|
|
Loading…
Reference in New Issue