GNU bug report logs -
#51820
29.0.50; process_pending_signals is almost useless without SIGIO
Previous Next
Reported by: Ken Brown <kbrown <at> cornell.edu>
Date: Sat, 13 Nov 2021 23:10:02 UTC
Severity: normal
Found in version 29.0.50
Done: Ken Brown <kbrown <at> cornell.edu>
Bug is archived. No further changes may be made.
Full log
Message #5 received at submit <at> debbugs.gnu.org (full text, mbox):
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 <at> 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
This bug report was last modified 3 years and 237 days ago.
Previous Next
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.