Maxime Devos <maximede...@telenet.be> skribis: > Ludovic Courtès schreef op wo 23-03-2022 om 23:36 [+0100]: >> Fibers is used in a single-threaded fashion, which is the main >> constraint for shepherd since it forks. That also means that fibers >> cannot be preempted, so it’s fully cooperative scheduling. > > When hz!=0, guile-fibers uses with-interrupts/thread-cputime which uses > threads. However, when (provided? 'threads) is false, it uses > 'with-interrupts/sigprof', which uses signal handlers and SIGPROF > instead. So with some small tweaks to guile-fibers, it should be > feasible to have singly-threaded, preemptive scheduling.
Right. Good to know we can take that route if it turns out to be necessary. Ludo’.