all messages for Emacs-related lists mirrored at yhetil.org
 help / color / mirror / code / Atom feed
From: Stefan Monnier <monnier@iro.umontreal.ca>
To: emacs-devel@gnu.org
Subject: Re: Reviving Gnus after suspend/hibernation
Date: Fri, 28 Oct 2011 20:50:24 -0400	[thread overview]
Message-ID: <jwvk47or5gq.fsf-monnier+emacs@gnu.org> (raw)
In-Reply-To: <87mxckx3hx.fsf@lifelogs.com> (Ted Zlatanov's message of "Fri, 28 Oct 2011 16:31:06 -0400")

>>> 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	other threads:[~2011-10-29  0:50 UTC|newest]

Thread overview: 22+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
     [not found] <87wrc2qmog.fsf@gnu.org>
     [not found] ` <877h3ule0y.fsf@lifelogs.com>
2011-10-27 17:41   ` Reviving Gnus after suspend/hibernation Ted Zlatanov
2011-10-27 18:14     ` Eli Zaretskii
2011-10-27 18:37       ` Ted Zlatanov
2011-10-27 18:48         ` Eli Zaretskii
2011-10-27 19:07           ` Ted Zlatanov
2011-10-27 23:48             ` Richard Stallman
2011-10-28  0:17               ` Ted Zlatanov
2011-10-27 18:50         ` joakim
2011-10-27 21:12         ` Stefan Monnier
2011-10-27 21:32           ` Ted Zlatanov
2011-10-28  0:33             ` Stefan Monnier
2011-10-28 20:31               ` Ted Zlatanov
2011-10-29  0:50                 ` Stefan Monnier [this message]
2011-10-29  3:33                   ` Jason Rumney
2011-10-29 16:13                     ` Stefan Monnier
2011-10-29 18:35                       ` Ted Zlatanov
2011-10-29 19:44                         ` Stefan Monnier
2011-11-03 20:24                           ` Lars Magne Ingebrigtsen
2011-11-03 21:12                             ` Stefan Monnier
2011-11-03 21:25                               ` Lars Magne Ingebrigtsen
2011-10-29 18:31                   ` Ted Zlatanov
2011-10-29 19:07     ` Antoine Levitt

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=jwvk47or5gq.fsf-monnier+emacs@gnu.org \
    --to=monnier@iro.umontreal.ca \
    --cc=emacs-devel@gnu.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
Code repositories for project(s) associated with this external index

	https://git.savannah.gnu.org/cgit/emacs.git
	https://git.savannah.gnu.org/cgit/emacs/org-mode.git

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.