On Sat, Mar 3, 2018 at 6:01 AM, Carsten Haitzler <ras...@rasterman.com> wrote:
> raster pushed a commit to branch master.
>
> http://git.enlightenment.org/core/efl.git/commit/?id=d80ef6d7a98e0cb3ceb995573c58d1df965639e4
>
> commit d80ef6d7a98e0cb3ceb995573c58d1df965639e4
> Author: Carsten Haitzler (Rasterman) <ras...@rasterman.com>
> Date:   Sat Mar 3 17:15:10 2018 +0900
>
>     efl loop promises - cleare out promise data to null
>
>     so there is something broken in the complect efl promise/loop promise
>     that the clear of promises on loop destroy is clearing
>     promises/futures that have already triggered (loop timer ones). i've
>     spent enough time figuring out that it is happening.
>     _efl_loop_timeout_del() simple doenst ensure the future in
>     pending_futures for that promise is removed from the list. getting the
>     future from the promise handle is an exercise in pain... so i'm not
>     continuing with that path and will just ignore it.
>
>     but for now filling the promise data with null at least means if the
>     menory is re-used after free it wont see garbage freed ptrs and get
>     nulls so its easier to track.
> ---
>  src/lib/ecore/efl_loop.c | 11 ++++++++++-
>  1 file changed, 10 insertions(+), 1 deletion(-)
>
> diff --git a/src/lib/ecore/efl_loop.c b/src/lib/ecore/efl_loop.c
> index 0ccee1706f..b3a58f9ae9 100644
> --- a/src/lib/ecore/efl_loop.c
> +++ b/src/lib/ecore/efl_loop.c
> @@ -488,7 +488,10 @@ static void
>  _efl_loop_idle_cancel(void *data, const Eina_Promise *dead_ptr EINA_UNUSED)
>  {
>     Efl_Loop_Promise_Simple_Data *d = data;
> +
>     ecore_idler_del(d->idler);
> +   d->idler = NULL;
> +   d->promise = NULL;
>     efl_loop_promise_simple_data_mp_free(d);
>  }

this is strange: d comes from the mempool and all calls are protected
with "is p valid in the mempool", which should evaluate to false.

then you're just hiding some other problem.

-- 
Gustavo Sverzut Barbieri
--------------------------------------
Mobile: +55 (16) 99354-9890

------------------------------------------------------------------------------
Check out the vibrant tech community on one of the world's most
engaging tech sites, Slashdot.org! http://sdm.link/slashdot
_______________________________________________
enlightenment-devel mailing list
enlightenment-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-devel

Reply via email to