summaryrefslogtreecommitdiff
path: root/src/Makefile_Ecore.am
diff options
context:
space:
mode:
authorCedric BAIL <cedric@efl.so>2013-02-18 14:32:51 +0100
committerCedric BAIL <cedric@efl.so>2013-02-18 14:38:33 +0100
commit91711d8a694e53a95d164645b774de568ae4322b (patch)
treef9779e4e7d2efee19a1242f5c8efd5ea61c4f808 /src/Makefile_Ecore.am
parentceed029a84f695e93290addede0c8104bfbc8187 (diff)
ecore: add Ecore_Coroutine.
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
Diffstat (limited to 'src/Makefile_Ecore.am')
-rw-r--r--src/Makefile_Ecore.am2
1 files changed, 2 insertions, 0 deletions
diff --git a/src/Makefile_Ecore.am b/src/Makefile_Ecore.am
index e901c7f..b409615 100644
--- a/src/Makefile_Ecore.am
+++ b/src/Makefile_Ecore.am
@@ -27,6 +27,7 @@ lib/ecore/ecore_time.c \
27lib/ecore/ecore_timer.c \ 27lib/ecore/ecore_timer.c \
28lib/ecore/ecore_thread.c \ 28lib/ecore/ecore_thread.c \
29lib/ecore/ecore_throttle.c \ 29lib/ecore/ecore_throttle.c \
30lib/ecore/ecore_coroutine.c \
30lib/ecore/ecore_private.h 31lib/ecore/ecore_private.h
31 32
32if HAVE_WIN32 33if HAVE_WIN32
@@ -66,6 +67,7 @@ tests/ecore/ecore_test_ecore.c \
66tests/ecore/ecore_test_ecore_con.c \ 67tests/ecore/ecore_test_ecore_con.c \
67tests/ecore/ecore_test_ecore_x.c \ 68tests/ecore/ecore_test_ecore_x.c \
68tests/ecore/ecore_test_ecore_imf.c \ 69tests/ecore/ecore_test_ecore_imf.c \
70tests/ecore/ecore_test_coroutine.c \
69tests/ecore/ecore_suite.h 71tests/ecore/ecore_suite.h
70 72
71tests_ecore_ecore_suite_CPPFLAGS = \ 73tests_ecore_ecore_suite_CPPFLAGS = \