--- Begin Message ---
Subject: |
Timer can miss its SIGALRM |
Date: |
Tue, 8 Oct 2013 10:20:47 -0400 |
Looking over the timer code, the do_pending_atimers function does:
block_atimers ();
run_timers ();
unblock_atimers ();
The last line of run_timers is:
set_alarm ();
But what happens if the next timer happens to be soon, and Emacs
receives SIGALRM inbetween set_alarm and unblock_timers?
What is the purpose of sigmasking SIGALRM anyway? If it means to block
SIGALRM during timers, that doesn't always happen because timers run
within timers. The end of an inner timer would unblock SIGALRM and
the outer timer would finish with the sigmask unblocked.
--- End Message ---
--- Begin Message ---
Subject: |
Re: bug#15561: periodic timer stops running |
Date: |
Tue, 25 Mar 2014 07:45:01 -0700 |
User-agent: |
Mozilla/5.0 (X11; Linux x86_64; rv:24.0) Gecko/20100101 Thunderbird/24.4.0 |
Barry OReilly wrote:
I think applying Paul Eggert's patch is all that's left to this bug
report then. Since it solves a theoretical flaw rather than one
witnessed, maybe it's appropriate for trunk?
Sounds good; done as trunk bzr 116018.
--- End Message ---