[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