- /* Don't set the interval to 0; this disables the timer. */
- EMACS_TIME interval = (EMACS_TIME_LE (atimers->expiration, now)
- ? make_emacs_time (0, 1000 * 1000)
- : sub_emacs_time (atimers->expiration, now));
+ /* Determine interval till the next timer is ripe.
+ Don't set the interval to 0; this disables the timer. */
+ now = current_emacs_time ();
+ interval = (EMACS_TIME_LE (atimers->expiration, now)
+ ? make_emacs_time (0, 1000 * 1000)
+ : sub_emacs_time (atimers->expiration, now));