Subject: bug#17561: Emacs can forget processes

From: Andreas Schwab <[email-masked]>
Date: Thu, 29 May 2014 21:15:35 +0200

Jorgen Schaefer <[email-masked]> writes:

> Line 4685 has a SIGCHLD. The next rt_sigprocmask that mentions CHLD is
> in line 4726, where SIGCHLD is in the oldset. It wasn't at 4714/4715.
> Huh? How did it get there?

31528 20:04:49.041423 --- SIGINT (Interrupt) @ 0 (0) ---
31528 20:04:49.041578 rt_sigprocmask(SIG_UNBLOCK, [INT], NULL, 8) = 0 <0.000016>
31528 20:04:49.044035 rt_sigprocmask(SIG_BLOCK, [WINCH IO], [QUIT ALRM CHLD PROF WINCH IO], 8) = 0 <0.000019>

It's the first time a SIGINT is received, and the first time the default
mask became non-empty.  That's because quit_throw_to_read_char doesn't
restore the signal mask.

Andreas.

-- 
Andreas Schwab, [email-masked]
GPG Key fingerprint = 58CA 54C7 6D53 942B 1756  01D3 44D5 214B 8276 4ED5
"And now for something completely different."