From d46e7ee8c90a800e6f3c2f1db949e88635983b6b Mon Sep 17 00:00:00 2001 From: Florent Le Coz Date: Sat, 8 Feb 2014 08:14:24 +0100 Subject: Enable TCP keepalive on sockets --- src/network/socket_handler.cpp | 3 +++ 1 file changed, 3 insertions(+) diff --git a/src/network/socket_handler.cpp b/src/network/socket_handler.cpp index 3fe423e..ae9489d 100644 --- a/src/network/socket_handler.cpp +++ b/src/network/socket_handler.cpp @@ -21,6 +21,9 @@ SocketHandler::SocketHandler(): { if ((this->socket = ::socket(AF_INET, SOCK_STREAM, 0)) == -1) throw std::runtime_error("Could not create socket"); + int optval = 1; + if (::setsockopt(this->socket, SOL_SOCKET, SO_KEEPALIVE, &optval, sizeof(optval)) == -1) + log_warning("Failed to enable TCP keepalive on socket: " << strerror(errno)); } std::pair SocketHandler::connect(const std::string& address, const std::string& port) -- cgit v1.2.3