91711d8a69
That work clearly was possible thanks to Leandro. If you want more information go to his blog : http://tia.mat.br/posts/async_io_with_coroutines/ . The main difference with his implementation is more portable and not thread safe. It does not have a custom swapcontext (would make sense as we don't need to save the sigcontext) so it will be less fast. If people are ready to contribute asm patch for that purpose I will be happy to apply them. As for portability this code should work on all architecture we already support thanks to a nice hack with setjmp/longjmp borowed from libcoroutine. We do use Fiber for Windows support, but as 1.8 is completely borken in that regard, this is theorical work only. Thinks left to do : - Eoify the API - Documentation - More tests - Add support for coroutine in fd handler - Add coroutine support to ecore_thread api - Write some example |
||
---|---|---|
.. | ||
ecore_suite.c | ||
ecore_suite.h | ||
ecore_test_coroutine.c | ||
ecore_test_ecore.c | ||
ecore_test_ecore_audio.c | ||
ecore_test_ecore_con.c | ||
ecore_test_ecore_imf.c | ||
ecore_test_ecore_x.c | ||
modem.wav | ||
sms.ogg |