Page MenuHomePhabricator

ecore/thread: flush main loop threads during ecore_thread_wait()
ClosedPublic

Authored by zmike on Jun 26 2018, 3:31 PM.

Details

Summary

this avoids the case where the main loop is waiting on a thread
and that same thread is waiting on the main loop

@fix
Depends on D6437

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.
zmike created this revision.Jun 26 2018, 3:31 PM
zmike requested review of this revision.Jun 26 2018, 3:31 PM
ManMower accepted this revision.Jun 27 2018, 8:51 AM

This looks a little silly now with potentially frequent back to back ecore_time_get() calls, but seems functionally correct. If anyone cares that could be a follow up clean up.

Is a 1/10th of a ms timeout too aggressive? Anyway, solves a potential deadlock condition, accepted.

This revision is now accepted and ready to land.Jun 27 2018, 8:51 AM
Closed by commit rEFLb45561750039: ecore/thread: flush main loop threads during ecore_thread_wait() (authored by zmike, committed by Marcel Hollerbach <mail@marcel-hollerbach.de>). · Explain WhyJun 28 2018, 9:11 AM
This revision was automatically updated to reflect the committed changes.