cedric pushed a commit to branch master.

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

commit af2b0c8629d6cdfd70f6b21b6d06434717bd3373
Author: Cedric BAIL <ced...@osg.samsung.com>
Date:   Fri Jun 3 16:54:38 2016 -0700

    eina: protect promise death during callbacks cancel.
---
 src/lib/eina/eina_promise.c | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/src/lib/eina/eina_promise.c b/src/lib/eina/eina_promise.c
index 7eac26e..8a207f7 100644
--- a/src/lib/eina/eina_promise.c
+++ b/src/lib/eina/eina_promise.c
@@ -193,6 +193,7 @@ _eina_promise_cancel_calls(_Eina_Promise_Default_Owner* 
promise, Eina_Bool call_
 {
    _Eina_Promise_Cancel_Cb* callback;
 
+   _eina_promise_ref(&promise->promise);
    EINA_INLIST_FREE(promise->promise.cancel_callbacks, callback)
      {
         promise->promise.cancel_callbacks = 
eina_inlist_remove(promise->promise.cancel_callbacks, 
EINA_INLIST_GET(callback));
@@ -207,6 +208,7 @@ _eina_promise_cancel_calls(_Eina_Promise_Default_Owner* 
promise, Eina_Bool call_
      {
         _eina_promise_then_calls(promise);
      }
+   _eina_promise_unref(&promise->promise);
 }
 
 static void

-- 


Reply via email to