unofficial mirror of bug-gnu-emacs@gnu.org 
 help / color / mirror / code / Atom feed
* bug#35400: 27.0.50; Timers repeated after waking from suspend
@ 2019-04-23 16:59 Stefan Monnier
  2019-04-23 17:30 ` Eli Zaretskii
  0 siblings, 1 reply; 6+ messages in thread
From: Stefan Monnier @ 2019-04-23 16:59 UTC (permalink / raw)
  To: 35400

Package: Emacs
Version: 27.0.50


If Emacs is prevented from running for a "long" time (via the `STOP`
signal, C-z, suspend-to-ram, thrashing, you name it), the "missed"
repetitions of timer events all get run when we wake up.

E.g. you can try the following:

    % emacs -Q
    (run-with-timer 5 5 (lambda () (message "Run at: %s" (format-time-string "%H:%M:%S"))))
    C-j
    C-x b *Messages* RET
    
you should see a message emitted every 5 seconds.  Then do:

    kill -STOP <emacs-pid>
    
now wait a minute and then

    kill -CONT <emacs-pid>

and you should see something like:

    Run at: 12:49:40 [7 times]

in the *Messages* buffer, before all the repetitions that couldn't be
run while Emacs was suspended are run when we wake up.

Apparently this is *not* a new behavior (I can reproduce it with
Debian's 26.1) although I only recently started noticing it.

If we decide to consider this a feature (I guess there can be
circumstances where it might make sense, tho I'm not sure those would
really work well with the way we handle timers), I think we should
provide some way for users of timers to indicate whether they want to
use this feature or not (and I think it makes sense to default to not
using this feature).


        Stefan



In GNU Emacs 27.0.50 (build 1, x86_64-unknown-linux-gnu, GTK+ Version 3.24.5)
 of 2019-04-14 built on alfajor
Repository revision: bd7668ee53b3597ee229afd83e18b6cdb6315056
Repository branch: work
Windowing system distributor 'The X.Org Foundation', version 11.0.12003000
System Description: Debian GNU/Linux buster/sid

Recent messages:
Mark set
Mark activated
Mark set
Auto-saving...done
Saving file /home/monnier/src/emacs/elpa/packages/smalltalk-mode/smalltalk-mode.el...
Wrote /home/monnier/src/emacs/elpa/packages/smalltalk-mode/smalltalk-mode.el
Saving file /home/monnier/share/etc/diary...
Wrote /home/monnier/share/etc/diary
Marking diary entries...done
(New file)





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

end of thread, other threads:[~2021-02-03 18:42 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2019-04-23 16:59 bug#35400: 27.0.50; Timers repeated after waking from suspend Stefan Monnier
2019-04-23 17:30 ` Eli Zaretskii
2021-02-02 14:34   ` Lars Ingebrigtsen
2021-02-02 15:32     ` Eli Zaretskii
2021-02-02 16:18       ` Stefan Monnier
2021-02-03 18:42         ` Lars Ingebrigtsen

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).