* ecore_thread_run: Add a facility to run heavy code in another thread
authorcedric <cedric@7cbeb6ba-43b4-40fd-8cce-4c39aea84d33>
Fri, 31 Jul 2009 17:06:11 +0000 (17:06 +0000)
committercedric <cedric@7cbeb6ba-43b4-40fd-8cce-4c39aea84d33>
Fri, 31 Jul 2009 17:06:11 +0000 (17:06 +0000)
commit0f4c6fe51b0cc91bd3a7ebd66b89576198c8de25
tree2f2606173e0415afd6bf409c1c6795aa4c43b8e0
parent5c0078db12686e4a3a7b523113cc5deb43e9e30f
* ecore_thread_run: Add a facility to run heavy code in another thread
that still integrate cleanly with the EFL.

ecore_thread_run need two callbacks :

* func_heavy is called from another thread and should not use the
EFL except Eina, but carefully.

* func_end is called when func_heavy is done, but from inside ecore
main loop, so you can at this point call every EFL functions without
fear.

Note :

The system automatically detect how many CPU you have and will spread
the load on all of them.

You must not assume that the result will come in the same order you
requested it. Depend on each CPU load and how heavy the function on it
are.

git-svn-id: svn+ssh://svn.enlightenment.org/var/svn/e/trunk/ecore@41555 7cbeb6ba-43b4-40fd-8cce-4c39aea84d33
configure.ac
src/lib/ecore/Ecore.h
src/lib/ecore/Makefile.am
src/lib/ecore/ecore.c
src/lib/ecore/ecore_private.h
src/lib/ecore/ecore_thread.c [new file with mode: 0644]