From: David Flanagan Date: 2007-08-23T04:22:40+09:00 Subject: Re: Fibers in Ruby 1.9? My posts to ruby-core have arrived out-of-order today. By the time this message appeared, it was already out of date. I have tested Fibers directly and they do work on Linux. See http://www.davidflanagan.com/blog/2007_08.html#000139 David David Flanagan wrote: > Francis, > > As I understand it, external iterators are implemented on top of fibers. > And external iterators are working for me in Linux. So the fibers must > be working. (I've posted external iterator examples at > http://www.davidflanagan.com/blog/2007_08.html#000138 but I haven't > figured out the Fiber API yet, so I haven't tested Fibers directly yet.) > > According to Wikipedia's entry on Fibers, they can be implemented in > Posix with getcontext,setcontext,swapcontext from ucontext.h. I don't > know anything about it. I haven't done that kind of low-level hacking > since the days of setjmp/longjmp. > > I doesn't look to me, however, as if Ruby's implementation does that. > Fibers are in cont.c, along with continuations. I haven't figured that > code out yet, but I'm guessing that they're implemented on top of (or > with the same techniques as) Continuations. > > David