bu5hm4n pushed a commit to branch master.

http://git.enlightenment.org/core/efl.git/commit/?id=f63ede42818595ae7d92f7a4fe5f053d5c898cee

commit f63ede42818595ae7d92f7a4fe5f053d5c898cee
Author: Marcel Hollerbach <marcel-hollerb...@t-online.de>
Date:   Thu Oct 13 10:27:06 2016 +0200

    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.
---
 src/lib/ecore/ecore_main.c | 6 ++++++
 1 file changed, 6 insertions(+)

diff --git a/src/lib/ecore/ecore_main.c b/src/lib/ecore/ecore_main.c
index 6b1ac3e..d1b66a6 100644
--- a/src/lib/ecore/ecore_main.c
+++ b/src/lib/ecore/ecore_main.c
@@ -1598,6 +1598,8 @@ ecore_main_fd_handler_active_set(Ecore_Fd_Handler      
*fd_handler,
 void
 _ecore_main_shutdown(void)
 {
+   Efl_Future *future;
+
    if (in_main_loop)
      {
         ERR("\n"
@@ -1605,6 +1607,10 @@ _ecore_main_shutdown(void)
             "***                 Program may crash or behave strangely now.");
         return;
      }
+
+   EINA_LIST_FREE(_pending_futures, future)
+     efl_del(future);
+
    while (fd_handlers)
      {
         Ecore_Fd_Handler *fdh;

-- 


Reply via email to