unofficial mirror of bug-gnu-emacs@gnu.org 
 help / color / mirror / code / Atom feed
* bug#51820: 29.0.50; process_pending_signals is almost useless without SIGIO
@ 2021-11-13 22:49 Ken Brown
  2021-11-13 23:12 ` Paul Eggert
  0 siblings, 1 reply; 9+ messages in thread
From: Ken Brown @ 2021-11-13 22:49 UTC (permalink / raw)
  To: 51820; +Cc: Paul Eggert

I might be missing something, but it seems to me that the main purpose of 
process_pending_signals is to read input in case the user typed C-g.  This is in 
fact done on systems with SIGIO, via a call to handle_async_input.  But 
handle_async_input is a NOOP on systems without SIGIO.  This has been the case 
since the following commit:

commit 4d7e6e51dd4acecff466a28d958c50f34fc130b8
Author: Paul Eggert <eggert@cs.ucla.edu>
Date:   Sun Sep 23 01:44:20 2012 -0700

     Simplify and avoid signal-handling races.
[...]
     Fixes: debbugs:12471

I can't find anything in the commit message or in the discussion of Bug#12471 
that explains this.  Paul, I realize that the commit was 9 years ago, but do you 
remember why you made this change?

On systems without SIGIO, an atimer "poll_timer" is created that fires every 2 
seconds.  This causes pending_signals to be set, which has practically no effect 
AFAICT.  The only thing I see that poll_timer accomplishes is that if emacs 
happens to be in the select call in wait_reading_process_output when the timer 
fires, then select will return.

Ken





^ permalink raw reply	[flat|nested] 9+ messages in thread

end of thread, other threads:[~2021-11-17 18:11 UTC | newest]

Thread overview: 9+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2021-11-13 22:49 bug#51820: 29.0.50; process_pending_signals is almost useless without SIGIO Ken Brown
2021-11-13 23:12 ` Paul Eggert
2021-11-13 23:17   ` Ken Brown
2021-11-13 23:18     ` Paul Eggert
2021-11-13 23:25       ` Ken Brown
2021-11-14  2:26         ` Lars Ingebrigtsen
2021-11-14 16:09           ` Ken Brown
2021-11-14  6:47         ` Eli Zaretskii
2021-11-17 18:11           ` Ken Brown

Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/emacs.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).