GNU bug report logs - #28630
27.0.50; C-g while a non-main thread is sitting crashes Emacs

Previous Next

Package: emacs;

Reported by: Alex <agrambot <at> gmail.com>

Date: Thu, 28 Sep 2017 07:24:01 UTC

Severity: normal

Found in version 27.0.50

Done: Eli Zaretskii <eliz <at> gnu.org>

Bug is archived. No further changes may be made.

Full log


View this message in rfc822 format

From: Eli Zaretskii <eliz <at> gnu.org>
To: mituharu <at> math.s.chiba-u.ac.jp
Cc: 28630 <at> debbugs.gnu.org, tom <at> tromey.com, agrambot <at> gmail.com
Subject: bug#28630: 27.0.50;C-g while a non-main thread is sitting crashes Emacs
Date: Mon, 09 Oct 2017 14:01:05 +0300
> Date: Mon, 9 Oct 2017 19:34:28 +0900
> From: mituharu <at> math.s.chiba-u.ac.jp
> Cc: agrambot <at> gmail.com,
>  28630 <at> debbugs.gnu.org,
>  tom <at> tromey.com
> 
> In both Examples, the main thread is not blocking at pselect, but
> thread-join (sys_cond_wait internally), i.e., without monitoring
> the keyboard descriptor. The secondary one is blocking at pselect
> in sit-for (Example 1) or sleep-for (Example 2).  So "none of
> other threads is monitoring the keyboard input channel" part
> becomes true for the secondary thread after returning from
> pselect.

OK, with thread-join this is so.  Sorry for missing that part.

In any case, on TTY frames C-g triggers SIGINT, and we always deliver
signals to the main thread.  If we want to be able to handle keyboard
input in non-main threads, we should change how signals are handled in
Emacs.




This bug report was last modified 7 years and 284 days ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.