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: Ted Zlatanov
Subject: Re: Reviving Gnus after suspend/hibernation
Date: Sat, 29 Oct 2011 14:31:38 -0400
User-agent: Gnus/5.110018 (No Gnus v0.18) Emacs/24.0.90 (gnu/linux)

On Fri, 28 Oct 2011 20:50:24 -0400 Stefan Monnier <address@hidden> wrote: 

>>>> 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.

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

Please remember most of the Internet is behind a NAT router.  TCP
connections are very rarely around for long.

>>>> 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.

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

Right.  I will just take a look at the GnuTLS code and maybe TCP in
general, and hope others find the hung processes interesting.

Ted




reply via email to

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