Ludovic Courtès schreef op wo 02-03-2022 om 17:05 [+0100]: > I think what we need is concurrency, not POSIX threads.  IOW, we can > achieve the concurrency we need without resorting to POSIX threads, for > example using Fibers on a single POSIX thread. guile-fibers uses threads internally, e.g. in (fibers interrupts). Interrupts can theoretically be avoided, but that has a downside that if a start procedure goes into infinite loop (while forgetting to sleep), the whole shepherd would hang. I'm not saying that we need POSIX threads per-se -- I find 'choice-operation', 'perform-operation', the channel operations and Fibers conditions much more convenient than the (lack of) POSIX equivalents, but I'd prefer avoiding the assumption of single-threading where feasible, to make it ourselves not harder than necessary in the future, in case it turns out we need POSIX threading somewhere (even if only as an implementation detail). Greetings, Maxime.