Turned out libc functions work great with Photon, it was the Boehm GC (libgc) that was causing segfaults. Making Photon work with GC is the only thing left to be done.
Stackful coroutines have their own stacks with dynamic sizes, such behavior makes it hard for the GC to detect alive objects. Does photon have a way to register coroutine stacks and let the GC know about context switching?
As I understand, Boehm GC has a way to let know about a new stack during context switching, but I didn't find this feature in Photon...
Originally posted by @medvednikov in #148 (comment)
Turned out libc functions work great with Photon, it was the Boehm GC (libgc) that was causing segfaults. Making Photon work with GC is the only thing left to be done.
Stackful coroutines have their own stacks with dynamic sizes, such behavior makes it hard for the GC to detect alive objects. Does photon have a way to register coroutine stacks and let the GC know about context switching?
As I understand, Boehm GC has a way to let know about a new stack during context switching, but I didn't find this feature in Photon...
Originally posted by @medvednikov in #148 (comment)