--- Comment #10 from 2012-02-15 04:15:06 PST ---
>Hm... that's tricky.  The fiber implementation needs to hold a reference to the
>fiber on its stack for context switching, and that's the reference that is
>keeping the fiber alive.  I'll play with the stack pointers a bit and see if
>things work if I exclude that reference from the GC scan.

It's simple to fix I think. Don't add the fiber context to the global context
list but GCscan all nested contexts instead. Now you only need to push/pop a
reference to the Fiber object for call/yield.
It's like swapping ownership. When the fiber is halted the Fiber object owns
it's stack, when the fiber is being executed the stack owns the Fiber object.

Configure issuemail:
------- You are receiving this mail because: -------

Reply via email to