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