emacs-devel
[Top][All Lists]
Advanced

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

Re: gnus makes emacs lose response


From: Luc Teirlinck
Subject: Re: gnus makes emacs lose response
Date: Sat, 23 Sep 2006 18:42:07 -0500 (CDT)

Chong Yidong wrote:

   After some further communication with Leon, I think I know the
   problem: accept-process-output is called by the timer function
   `gnus-demon' (which is a valid but IIUC not commonly-used component of
   Gnus).  However, as documented in the Lisp Reference manual:

      Emacs binds `inhibit-quit' to `t' before calling the timer
      function, because quitting out of many timer functions can leave
      things in an inconsistent state.  This is normally unproblematical
      because most timer functions don't do a lot of work.  Indeed, for a
      timer to call a function that takes substantial time to run is
      likely to be annoying.

   The result in this case is that this accept-process-output can't be
   interrupted, and Emacs can hang if the process doesn't reply (e.g., if
   the connection dies).

   I'm not sure what the best way to handle this is.  Anyone?

I have no time to look at the actual code, but is there any reason why
the routine way to handle this problem, namely using `with-local-quit'
(see (elisp)Quitting) around the problematic code (in this case
probably the call to accept-process-output) does not work in this case?

Sincerely,

Luc.




reply via email to

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