Yes, it was accidental.

---------- Forwarded message ---------
From: Shiro Kawai <xxxxxx@gmail.com>
Date: Sun, May 12, 2019 at 2:57 PM
Subject: Re: Signal mask and subprocess
To: John Cowan <xxxxxx@ccil.org>


That's a sensible choice, though it can restrict the way application is constructed (notably, you won't be able to pthread_cond_wait in primordial thread).
Threads and fork don't get well along, so personally I'd like to have languages abstracts those mechanics (e.g. always reserving threads for
signal handling or spawning, etc.)   I wonder if Scheme library can step into that direction.

(btw, you replied only to me (not including srfi-170).  Is that accidental?)

On Sat, May 11, 2019 at 2:42 PM John Cowan <xxxxxx@ccil.org> wrote:


On Sat, May 11, 2019 at 4:03 AM Shiro Kawai <xxxxxx@gmail.com> wrote:
 
The pitfall is that when the program spawns a subprocess from a non-primordial thread.
Since subprocess inherits the signal mask, it will block all signals.

How about doing all spawning from the primordial thread too?  If another thread tries to spawn, the primordial thread is awakened with a specialized exception that is caught and carries the spawn arguments.


John Cowan          http://vrici.lojban.org/~cowan        xxxxxx@ccil.org
At times of peril or dubitation,
Perform swift circular ambulation,
With loud and high-pitched ululation.