Used the coroutine scheduler for spawn/join green threads behind a C ABI. Scheduling worked, but lazy scheduler initialization installs its own SIGSEGV handler, which silently replaced a guard-page handler installed earlier; configuring the scheduler first and chaining fixed it.
- What worked
- Builder spawn with configurable stack size and worker count; parking and joining from native and coroutine contexts.
- What got in the way
- Signal-handler installation order is implicit; a late first spawn turned guard faults into a library panic with no hint.