From 0e9e22c23d9671a910e82067e520c02249296842 Mon Sep 17 00:00:00 2001 From: schmirl Date: Fri, 4 Sep 2009 13:24:30 +0000 Subject: use SO_KEEPALIVE option on all sockets do detect dead sockets --- tools/socket.c | 4 ++++ 1 file changed, 4 insertions(+) (limited to 'tools') diff --git a/tools/socket.c b/tools/socket.c index 3523c29..5dde45a 100644 --- a/tools/socket.c +++ b/tools/socket.c @@ -124,6 +124,10 @@ bool cTBSocket::Accept(const cTBSocket &Listener) { if (::getsockname(socket, (struct sockaddr*)&m_LocalAddr, &addrlen) == -1) return false; + int sol=1; + // Ignore possible errors here, proceed as usual + ::setsockopt(socket, SOL_SOCKET, SO_KEEPALIVE, &sol, sizeof(sol)); + if (!cTBSource::Open(socket)) return false; -- cgit v1.2.3