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