Subject: SA_RESTART prevents execution of signal handlers
From: [email-masked] (Ludovic Courtès)
To: [email-masked]
Date: Mon, 17 Jun 2013 15:54:45 +0200
List-Id: <debbugs-submit.debbugs.gnu.org>

When using SA_RESTART, signal handlers are never executed, as in this
example (checked on 2.0.9+):

--8<---------------cut here---------------start------------->8---
(sigaction SIGALRM
  (lambda (signum)
    (pk 'sig signum))
  SA_RESTART)
(alarm 3)
(pk 'char (read-char))
--8<---------------cut here---------------end--------------->8---

Presumably this is because the read(2) syscall is automatically
restarted, leaving no chance for the handler async to run.

Ludo’.