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. Greetings, Maxime.