[SCM] kdeconnect packaging branch, master, updated. debian/0.9g-1-1183-g9d69498

Maximiliano Curia maxy at moszumanska.debian.org
Fri Oct 14 14:26:51 UTC 2016


Gitweb-URL: http://git.debian.org/?p=pkg-kde/kde-extras/kdeconnect.git;a=commitdiff;h=f340c0c

The following commit has been merged in the master branch:
commit f340c0ca9fae35fdb04099c2adda9a0eb1d4cef1
Author: Albert Vaca <albertvaka at gmail.com>
Date:   Thu Aug 29 03:48:49 2013 +0200

    Tuned keepalive parameters
    
    As seen here:
    http://stackoverflow.com/questions/10445122/qtcpsocket-state-always-connected-even-unplugging-ethernet-wire
---
 daemon/devicelinks/landevicelink.cpp | 18 ++++++++++++++++++
 1 file changed, 18 insertions(+)

diff --git a/daemon/devicelinks/landevicelink.cpp b/daemon/devicelinks/landevicelink.cpp
index f9d8ac7..f06c904 100644
--- a/daemon/devicelinks/landevicelink.cpp
+++ b/daemon/devicelinks/landevicelink.cpp
@@ -20,6 +20,10 @@
 
 #include "landevicelink.h"
 
+#include <sys/socket.h>
+#include <netinet/in.h>
+#include <netinet/tcp.h>
+
 #include "linkproviders/linkprovider.h"
 #include "networkpackage.h"
 
@@ -27,6 +31,20 @@ LanDeviceLink::LanDeviceLink(const QString& d, LinkProvider* a, QTcpSocket* sock
     : DeviceLink(d, a)
 {
     mSocket = socket;
+
+    int fd = socket->socketDescriptor();
+    int enableKeepAlive = 1;
+    setsockopt(fd, SOL_SOCKET, SO_KEEPALIVE, &enableKeepAlive, sizeof(enableKeepAlive));
+
+    int maxIdle = 60; /* seconds */
+    setsockopt(fd, IPPROTO_TCP, TCP_KEEPIDLE, &maxIdle, sizeof(maxIdle));
+
+    int count = 3;  // send up to 3 keepalive packets out, then disconnect if no response
+    setsockopt(fd, SOL_TCP, TCP_KEEPCNT, &count, sizeof(count));
+
+    int interval = 5;   // send a keepalive packet out every 2 seconds (after the 5 second idle period)
+    setsockopt(fd, SOL_TCP, TCP_KEEPINTVL, &interval, sizeof(interval));
+
     connect(mSocket, SIGNAL(disconnected()),
             this, SLOT(deleteLater()));
     connect(mSocket, SIGNAL(readyRead()),

-- 
kdeconnect packaging



More information about the pkg-kde-commits mailing list