emacs-pretest-bug
[Top][All Lists]
Advanced

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

Re: Closed connection errors with the new Gnus


From: Lars Magne Ingebrigtsen
Subject: Re: Closed connection errors with the new Gnus
Date: Thu, 14 Oct 2004 00:59:33 +0200
User-agent: Gnus/5.110003 (No Gnus v0.3) Emacs/21.3.50 (gnu/linux)

Stefan Monnier <address@hidden> writes:

> See the backtrace below (which is all I can offer just now).  Anybody knows
> what's going on?  Is it just a matter of a failure to catch the error and
> reconnect&retry?

It seems to be failing when the server closes the connection when
doing an async prefetch.  In that case, I think the most useful thing
to do is to just not attempt to prefetch anything else.

Could you try the following patch?  I'm not quite sure it's correct;
the prefetching code is somewhat complex...

*** gnus-async.el.~7.3.~        Fri Oct  1 00:08:05 2004
--- gnus-async.el       Thu Oct 14 00:57:46 2004
***************
*** 269,296 ****
          (nntp-server-buffer (current-buffer))
          (nntp-have-messaged nil)
          (tries 0))
!       (condition-case nil
!         ;; FIXME: we could stop waiting after some
!         ;; timeout, but this is the wrong place to do it.
!         ;; rather than checking time-spent-waiting, we
!         ;; should check time-since-last-output, which
!         ;; needs to be done in nntp.el.
!         (while (eq article gnus-async-current-prefetch-article)
!           (incf tries)
!           (when (nntp-accept-process-output proc)
!             (setq tries 0))
!           (when (and (not nntp-have-messaged)
!                      (= tries 3))
!             (gnus-message 5 "Waiting for async article...")
!             (setq nntp-have-messaged t)))
!       (quit
!        ;; if the user interrupted on a slow/hung connection,
!        ;; do something friendly.
!        (when (> tries 3)
!          (setq gnus-async-current-prefetch-article nil))
!        (signal 'quit nil)))
!       (when nntp-have-messaged
!       (gnus-message 5 "")))))
  
  (defun gnus-async-delete-prefetched-entry (entry)
    "Delete ENTRY from buffer and alist."
--- 269,297 ----
          (nntp-server-buffer (current-buffer))
          (nntp-have-messaged nil)
          (tries 0))
!       (when proc
!       (condition-case nil
!           ;; FIXME: we could stop waiting after some
!           ;; timeout, but this is the wrong place to do it.
!           ;; rather than checking time-spent-waiting, we
!           ;; should check time-since-last-output, which
!           ;; needs to be done in nntp.el.
!           (while (eq article gnus-async-current-prefetch-article)
!             (incf tries)
!             (when (nntp-accept-process-output proc)
!               (setq tries 0))
!             (when (and (not nntp-have-messaged)
!                        (= tries 3))
!               (gnus-message 5 "Waiting for async article...")
!               (setq nntp-have-messaged t)))
!         (quit
!          ;; if the user interrupted on a slow/hung connection,
!          ;; do something friendly.
!          (when (> tries 3)
!            (setq gnus-async-current-prefetch-article nil))
!          (signal 'quit nil)))
!       (when nntp-have-messaged
!         (gnus-message 5 ""))))))
  
  (defun gnus-async-delete-prefetched-entry (entry)
    "Delete ENTRY from buffer and alist."


-- 
(domestic pets only, the antidote for overdose, milk.)
  address@hidden * Lars Magne Ingebrigtsen





reply via email to

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