Subject: bug#12447: 24.1.50; Stuck in garbage collection on OS X

From: Eli Zaretskii <[email-masked]>
Date: Sat, 15 Sep 2012 16:56:14 +0300

> Date: Sat, 15 Sep 2012 15:19:09 +0200 (CEST)
> Cc: [email-masked], [email-masked]
> From: Harald Hanche-Olsen <[email-masked]>
> 
> [Eli Zaretskii <[email-masked]> (2012-09-15 12:31:50 UTC)]
> 
> > No, the real story of how timers work is in process.c.  See the
> > function wait_reading_process_output there, which runs the timers via
> > the call to timer_check around line 4444; time_check and its
> > subroutines are in keyboard.c.
> > 
> > timer.el is just the Lisp interface to that code, used to create,
> > delete, and manage timer objects.
> 
> Okay, I'll study it; but it seems ludicrous that you need to read C
> code in order to use timers from elisp without causing emacs to hang.

??? AFAIU, you are trying to track a bug, not use the timers.  You
specifically asked about "how the timers work at a lower level".

Using timers does not involve any reading of C code; just read the
"Timers" and "Idle timers" nodes of the ELisp manual, and Bob's your
uncle.  No low-level knowledge is needed just for using timers.