emacs-devel
[Top][All Lists]
Advanced

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

Re: timer handlers and ^G


From: Dave Love
Subject: Re: timer handlers and ^G
Date: 25 Oct 2001 12:31:58 +0100
User-agent: Gnus/5.09 (Gnus v5.9.0) Emacs/21.0.107

>>>>> "GM" == Gerd Moellmann <address@hidden> writes:

 GM> We had that on pretest-bug recently.  I think it's not generally
 GM> a good idea, from the perspective of the user, to let C-g
 GM> interrupt functions run from a timer because (a) the user might
 GM> not be aware that such a function is running, and (b) because not
 GM> all such functions can cope with being interrupted.  I suggested
 GM> to Simon Josefson, I believe, to explicitly bind inhibit-quit to
 GM> nil in Gnus if Gnus can cope with that.

The problem with Gnus & al being able to hang Emacs¹ is due to the
timeouts it specifies on process operations not being honoured when
they're run from a timer.  (Normally `accept-process-output' on an
asynchronous article fetch is the culprit, and there is a loop
involving `select'.)

This was reported before, but no-one could find anything wrong with
process.c.  If I remember correctly, it is reproducible by running
from a timer a shell command which waits for a long time without
producing output.

Footnotes:

¹ If you happen to have `gnuserv' running, you can still use `gnudoit'
  to recover with `(top-level)' (?), as I recall.

  Also, the hang occurs under X.  On a tty, if you C-g twice in this
  situation, Emacs offers to auto-save and then abort and dump core.



reply via email to

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