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

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

bug#15561: periodic timer stops running


From: Barry OReilly
Subject: bug#15561: periodic timer stops running
Date: Fri, 28 Feb 2014 09:43:41 -0500

> Are you talking about a SIGALRM received during the execution of
> do_pending_atimers, between run_timer's call to set_alarm and
> do_pending_atimers's call to unblock_atimers? If so, the SIGALRM
> should be held by the operating system during that period, and Emacs
> won't be informed of the SIGALRM until unblock_atimers does its
> thing. Sorry, I don't see how this would cause a timer to stop.

I see you're right, because SIGALRM isn't specified with SIG_IGN at
any point.

While verifying that, I found in sys_subshell:

  struct save_signal saved_handlers[5];
  [...]
#ifdef USABLE_SIGIO
  saved_handlers[3].code = SIGIO;
  saved_handlers[4].code = 0;
#else
  saved_handlers[3].code = 0;
#endif

Shouldn't the else case initialize saved_handlers[4]? On the off
chance it is garbage valued coincidentally as SIGALRM, the subsequent
SIG_IGN could drop a pending SIGALRM.

Peter, which OS do you run? What is USABLE_SIGIO in your src/config.h?


reply via email to

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