On Sat, May 11, 2019 at 11:03 PM Lassi Kortela <xxxxxx@lassi.io> wrote:
Nevertheless, if the signal handler runs in a random thread and you
raise an exception there, wouldn't that be a problem - shouldn't your
exception should go predictably into a particular thread such as the
primordial thread?

In general you're right.  On unix it's up to the application programmer.  If you use signals other 
than a simple things (like print messages and exit), you want to set up signal masks so that
signals are blocked except one designated thread. 

Whether the srfi should specify that as a default or leave it to the programmer is another question.
Because of the "delayed" handling semantics in Scheme signal handlers, I made such behavior
default in Gauche.  But I'm not sure how other implementations are handling it.