Gnus development mailing list
 help / color / mirror / Atom feed
From: Robert Pluim <rpluim@gmail.com>
To: Eric Abrahamsen <eric@ericabrahamsen.net>
Cc: Lars Ingebrigtsen <larsi@gnus.org>,
	 Christian Barthel <bch@online.de>,
	ding@gnus.org
Subject: Re: new wifi connection = nntp timeout = Emacs restart?
Date: Mon, 04 May 2020 19:21:15 +0200	[thread overview]
Message-ID: <m27dxr4nw4.fsf@gmail.com> (raw)
In-Reply-To: <874ksvodwm.fsf@ericabrahamsen.net> (Eric Abrahamsen's message of "Mon, 04 May 2020 09:36:41 -0700")

>>>>> On Mon, 04 May 2020 09:36:41 -0700, Eric Abrahamsen <eric@ericabrahamsen.net> said:

    >> Eric, are you on GNU/Linux? I can cook up a patch for that platform to
    >> try if you want.

    Eric> Yes, I'm on arch linux. I'd be happy to try this out. I'll be switching
    Eric> networks later this morning, if you've got something on hand already!

Be prepared for rather more network traffic when Gnus is idle.

diff --git a/src/process.c b/src/process.c
index 6e5bcf307a..fb0a20c797 100644
--- a/src/process.c
+++ b/src/process.c
@@ -38,6 +38,7 @@ Copyright (C) 1985-1988, 1993-1996, 1998-1999, 2001-2020 Free Software
 #include <sys/socket.h>
 #include <netdb.h>
 #include <netinet/in.h>
+#include <netinet/tcp.h>
 #include <arpa/inet.h>
 
 #endif	/* subprocesses */
@@ -3456,6 +3457,27 @@ connect_network_socket (Lisp_Object proc, Lisp_Object addrinfos,
 	    optbits |= set_socket_option (s, key, val);
 	  }
       }
+      if (!p->is_server && p->socktype != SOCK_DGRAM)
+        {
+          int optval;
+          int sz = sizeof(optval);
+          /* Enable keepalive.  */
+          optval = 1;
+          if (setsockopt (s, SOL_SOCKET, SO_KEEPALIVE, &optval, sz))
+            report_file_error ("socket keepalive 1", Qnil);
+          /* Set idle time.  */
+          optval = 1;
+          if (setsockopt (s, IPPROTO_TCP, TCP_KEEPIDLE, &optval, sz))
+            report_file_error ("socket keepalive 2", Qnil);
+          /* Time between keepalives.  */
+          optval = 1;
+          if (setsockopt (s, IPPROTO_TCP, TCP_KEEPINTVL, &optval, sz))
+            report_file_error ("socket keepalive 3", Qnil);
+          /* Number of probes.  */
+          optval = 2;
+          if (setsockopt (s, IPPROTO_TCP, TCP_KEEPCNT, &optval, sz))
+            report_file_error ("socket keepalive 4", Qnil);
+        }
 
       if (p->is_server)
 	{



  reply	other threads:[~2020-05-04 17:22 UTC|newest]

Thread overview: 67+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-04-16 17:37 Eric Abrahamsen
2020-04-17 11:46 ` Eric S Fraga
2020-04-17 12:20   ` Gijs Hillenius
2020-04-17 12:26     ` Andreas Schwab
2020-04-17 14:51       ` Eric Abrahamsen
2020-04-17 15:38         ` David Engster
2020-04-17 16:35           ` Eric Abrahamsen
2020-04-19  6:37 ` Christian Barthel
2020-04-19 17:32   ` Eric Abrahamsen
2020-04-19 18:02     ` Robert Pluim
2020-04-19 21:23       ` Eric Abrahamsen
2020-04-19 22:10       ` Eric Abrahamsen
2020-04-20  4:54         ` Eric Abrahamsen
2020-04-20  7:40         ` Andreas Schwab
2020-04-20 15:45           ` Eric Abrahamsen
2020-04-20 15:54             ` Robert Pluim
2020-04-20 18:24               ` Eric Abrahamsen
2020-04-21  8:36                 ` Alberto Luaces
2020-04-21 15:53                   ` Eric Abrahamsen
2020-04-22  7:37                     ` Alberto Luaces
2020-04-22  8:28                       ` Alberto Luaces
2020-04-30  5:26       ` Lars Ingebrigtsen
2020-04-30 17:34         ` Eric Abrahamsen
2020-04-30 21:49           ` Lars Ingebrigtsen
2020-04-30 22:11             ` Eric Abrahamsen
2020-05-04 12:53               ` Robert Pluim
2020-05-04 13:13                 ` Andreas Schwab
2020-05-04 13:33                   ` Robert Pluim
2020-05-04 14:35                     ` Andreas Schwab
2020-05-04 14:46                       ` Robert Pluim
2020-05-04 15:10                         ` Andreas Schwab
2020-05-04 16:29                           ` Robert Pluim
2020-05-04 14:51                 ` Lars Ingebrigtsen
2020-05-04 16:13                   ` Robert Pluim
2020-05-04 16:36                     ` Eric Abrahamsen
2020-05-04 17:21                       ` Robert Pluim [this message]
2020-05-04 18:01                         ` Lars Ingebrigtsen
2020-05-05  7:41                           ` new wifi connection = nntp timeout = Emacs restart?, " Robert Pluim
2020-05-05  8:19                             ` Lars Ingebrigtsen
2020-05-05 11:55                               ` Robert Pluim
2020-05-19 13:34                                 ` Lars Ingebrigtsen
2020-05-19 13:36                                 ` Lars Ingebrigtsen
2020-05-04 18:47                         ` Eric Abrahamsen
2020-05-04 15:38                 ` Eric Abrahamsen
2020-05-04 16:28                   ` Robert Pluim
2020-04-30 17:38         ` Eric Abrahamsen
2020-04-30 21:51           ` Lars Ingebrigtsen
2020-04-30 22:26             ` Eric Abrahamsen
2020-04-30 22:28               ` Lars Ingebrigtsen
2020-04-30 22:39                 ` Eric Abrahamsen
2020-04-30 22:55                   ` Lars Ingebrigtsen
2020-04-30 23:13                     ` Eric Abrahamsen
2020-04-30 23:23                       ` Lars Ingebrigtsen
2020-05-01  9:46                         ` David Engster
2020-05-01 10:35                           ` David Engster
2020-05-01 17:29                             ` Eric Abrahamsen
2020-05-01 20:51                               ` David Engster
2020-05-02  0:33                                 ` Eric Abrahamsen
2020-05-02 10:20                                   ` David Engster
2020-05-02 15:13                                     ` Eric Abrahamsen
2020-05-02 16:50                                       ` David Engster
2020-05-02 19:07                                         ` Eric Abrahamsen
2020-05-19 13:23                                           ` Lars Ingebrigtsen
2020-05-21  0:45                                             ` Eric Abrahamsen
2020-06-26  9:38                                               ` Lars Ingebrigtsen
2020-08-21 20:47                             ` Eric Abrahamsen
2020-05-01 18:06                         ` Eric Abrahamsen

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=m27dxr4nw4.fsf@gmail.com \
    --to=rpluim@gmail.com \
    --cc=bch@online.de \
    --cc=ding@gnus.org \
    --cc=eric@ericabrahamsen.net \
    --cc=larsi@gnus.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.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).