Hi Attila,

Apologies for the delay, I’m seeing this just now.

Attila Lendvai <att...@lendvai.name> skribis:

> posix signal handlers are async, and shepherd uses the fibers API from
> inside signal handlers, specifically in at least handle-SIGCHLD.

Shepherd has two modes: ‘signalfd’ on Linux, and Guile signal handlers
elsewhere (= GNU/Hurd).

The latter sucks for many reasons and was plain untested until recently
because GNU/Hurd support had been lost (Fibers used to be Linux-only).

The behavior on signalfd-less systems is now fixed in 0.10.3, though in
suboptimal ways.

At a fundamental level, we should fix signal handling in Guile and
Fibers to avoid race conditions.  (And get ‘signalfd’ on the Hurd. :-))

HTH!

Ludo’.

Reply via email to