bug-gnu-emacs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

bug#51820: 29.0.50; process_pending_signals is almost useless without SI


From: Ken Brown
Subject: bug#51820: 29.0.50; process_pending_signals is almost useless without SIGIO
Date: Sat, 13 Nov 2021 17:49:59 -0500
User-agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:91.0) Gecko/20100101 Thunderbird/91.3.0

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





reply via email to

[Prev in Thread] Current Thread [Next in Thread]