Marc Lehmann wrote:
On Fri, May 22, 2009 at 07:38:15PM +0100, James Mansion 
<[email protected]> wrote:
broken implementations, it has never been successfully standardised etc.).
Are you sure that the situation is that dismal?

Try also http://www.dekorte.com/projects/opensource/libcoroutine/

absolutely. unlike that guy, i don't compile my software on gnu/linux only
and call it portable :) it would be nice if ucontext functions did work
(ok, they are extremely slow (syscall), but at least they would be hassle-free).
Have you actually checked what the portability is of Steve Dekorte's code?

You comment seems out of sync with this section at the head of Coro.c:

Credits

Originally based on Edgar Toernig's Minimalistic cooperative multitasking
       http://www.goron.de/~froese/
       reorg by Steve Dekorte and Chis Double
       Symbian and Cygwin support by Chis Double
Linux/PCC, Linux/Opteron, Irix and FreeBSD/Alpha, ucontext support by Austin Kurahone
       FreeBSD/Intel support by Faried Nawaz
       Mingw support by Pit Capitain
       Visual C support by Daniel Vollmer
       Solaris support by Manpreet Singh
       Fibers support by Jonas Eschenburg
       Ucontext arg support by Olivier Ansaldi

I wouldn't like to infer that this stuff doesn't work just because a different
coroutine system has some issues.

You can probably infer something about the portability of Steve's code from
the presence of an io port on the platform.
in fact, the only way to implement coroutines on freebsd and netbsd that I
found is using the native thread library (which on netbsd is only slightly
slower as the ucontetx functions, fortunately, as it's userspace).
Note that this is out of date for NetBSD 5 and for default modern builds on FreeBSD.

James


_______________________________________________
libev mailing list
[email protected]
http://lists.schmorp.de/cgi-bin/mailman/listinfo/libev

Reply via email to