--- Comment #10 from d...@dawgfoto.de 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: http://d.puremagic.com/issues/userprefs.cgi?tab=email
------- You are receiving this mail because: -------