emacs-devel
[Top][All Lists]
Advanced

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

Re: Reviving Gnus after suspend/hibernation


From: Stefan Monnier
Subject: Re: Reviving Gnus after suspend/hibernation
Date: Fri, 28 Oct 2011 20:50:24 -0400
User-agent: Gnus/5.13 (Gnus v5.13) Emacs/24.0.90 (gnu/linux)

>>> You're right, but on suspend&resume we should not have to wait for the
>>> TCP connection to time out.  Let's assume it's closed in that specific
>>> case and set the keepalive for general use.
SM> It strikes me as a non-Emacs-specific problem, so maybe the OS should
SM> kill its TCP connection between suspend and resume.
> It probably does.

The Linux kernel definitely does not (and barring a NAT router, or
a resume with a different IP, or attempted communication on the link
while you're sleeping, the TCP connection will be faithfully waiting
for us when we resume).

>>> Is this just a GnuTLS problem?  Does any of the rest of Emacs have
>>> issues with hung connections?
SM> I've been suffering from it for many years.  I'm not sure if it
SM> affects NNTP connections (it probably does) but it for sure affects
SM> nnimap with gnutls-cli.
> That's a completely different use case, you're wrapping a process with
> arbitrary output when you use gnutls-cli.  I'd prefer to work just on
> hung TCP connections.

There are different cases at play indeed: gnutls-cli is one, NNTP
(without TLS) is another, and nnimap with libgnutls is yet another.
I think I see similar problems in all three cases, caused by the same
underlying OS-level problem.  But since the C and Elisp code that wraps
it is different, the exact behavior will differ (e.g. typically w.r.t
reaction to C-g, possibility of a timeout, ...).


        Stefan



reply via email to

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