forked from enlightenment/efl
ecore: add efl_future_iterator_race.
This commit is contained in:
parent
5edb42d371
commit
aaac15126b
|
@ -86,6 +86,7 @@ struct _Efl_Future_Race_Success
|
|||
};
|
||||
|
||||
EAPI Efl_Future *efl_future_race_internal(Efl_Future *f1, ...);
|
||||
EAPI Efl_Future *efl_future_iterator_race(Eina_Iterator *it);
|
||||
|
||||
#define efl_future_race(...) efl_future_race_internal(__VA_ARGS__, NULL)
|
||||
|
||||
|
|
|
@ -1154,7 +1154,22 @@ efl_future_race_internal(Efl_Future *f1, ...)
|
|||
eina_array_push(&race->members, fn);
|
||||
}
|
||||
|
||||
return _efl_future_race_done(race);
|
||||
}
|
||||
|
||||
EAPI Efl_Future *
|
||||
efl_future_iterator_race(Eina_Iterator *it)
|
||||
{
|
||||
Efl_Promise_Race *race = NULL;
|
||||
Efl_Future *fn;
|
||||
|
||||
if (!it) return NULL;
|
||||
|
||||
EINA_ITERATOR_FOREACH(it, fn)
|
||||
{
|
||||
if (!race) race = _efl_future_race_new(fn);
|
||||
if (race) eina_array_push(&race->members, fn);
|
||||
}
|
||||
|
||||
return _efl_future_race_done(race);
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue