Page MenuHomePhabricator

eio: work around the lack of integration between Ecore_Thread and Eina_Future.
ClosedPublic

Authored by cedric on Mar 15 2019, 5:01 PM.

Details

Summary

Ecore_Thread excpect resolution of the error and done case to be instantaneous,
while Eina_Future default scheduler linked with Ecore main loop is build around
asynchronous answer. This create a lot of potential. A better patch would be
to provide an Ecore_Thread helper that does the integration properly. Sadly
we are in release now, so this is basically what an helper would do, but
contained inside Efl_Io_Manager.

This also solve the same problem as D7970 and D8053, but it should avoid its
side effect.

Depends on D8359

Diff Detail

Repository
rEFL core/efl
Lint
Automatic diff as part of commit; lint not applicable.
Unit
Automatic diff as part of commit; unit tests not applicable.
cedric created this revision.Mar 15 2019, 5:01 PM
YOhoho accepted this revision.EditedMar 17 2019, 7:03 AM

Because i don't have enough understanding of eio, I only checked that eio deadlock issues are resolved with this series of patches.

This revision is now accepted and ready to land.Mar 17 2019, 7:03 AM
cedric updated this revision to Diff 20815.Mar 20 2019, 11:36 AM
cedric edited the summary of this revision. (Show Details)

Rebase and correct.

cedric updated this revision to Diff 21002.Mar 27 2019, 2:39 PM

Rebase.

This revision was automatically updated to reflect the committed changes.