TCP_KEEPCNT doesn't exist in non-linux
The TCP_KEEPCNT option for sockets only work with the Linux kernel, this isn't available for example in FreeBSD and Hurd, which makes the package fail to build on these platforms. See Debian bug here: https://bugs.debian.org/840035
This commit is contained in:
parent
72ce5c1ae8
commit
325e4efe00
|
@ -324,6 +324,7 @@ class WebSocketServerTestCase(unittest.TestCase):
|
||||||
tcp_keepidle=keepidle,
|
tcp_keepidle=keepidle,
|
||||||
tcp_keepintvl=keepintvl)
|
tcp_keepintvl=keepintvl)
|
||||||
|
|
||||||
|
if hasattr(socket, 'TCP_KEEPCNT'):
|
||||||
self.assertEqual(sock.getsockopt(socket.SOL_TCP,
|
self.assertEqual(sock.getsockopt(socket.SOL_TCP,
|
||||||
socket.TCP_KEEPCNT), keepcnt)
|
socket.TCP_KEEPCNT), keepcnt)
|
||||||
self.assertEqual(sock.getsockopt(socket.SOL_TCP,
|
self.assertEqual(sock.getsockopt(socket.SOL_TCP,
|
||||||
|
@ -337,6 +338,7 @@ class WebSocketServerTestCase(unittest.TestCase):
|
||||||
tcp_keepidle=keepidle,
|
tcp_keepidle=keepidle,
|
||||||
tcp_keepintvl=keepintvl)
|
tcp_keepintvl=keepintvl)
|
||||||
|
|
||||||
|
if hasattr(socket, 'TCP_KEEPCNT'):
|
||||||
self.assertNotEqual(sock.getsockopt(socket.SOL_TCP,
|
self.assertNotEqual(sock.getsockopt(socket.SOL_TCP,
|
||||||
socket.TCP_KEEPCNT), keepcnt)
|
socket.TCP_KEEPCNT), keepcnt)
|
||||||
self.assertNotEqual(sock.getsockopt(socket.SOL_TCP,
|
self.assertNotEqual(sock.getsockopt(socket.SOL_TCP,
|
||||||
|
|
|
@ -723,8 +723,11 @@ class WebSocketServer(object):
|
||||||
if tcp_keepalive:
|
if tcp_keepalive:
|
||||||
sock.setsockopt(socket.SOL_SOCKET, socket.SO_KEEPALIVE, 1)
|
sock.setsockopt(socket.SOL_SOCKET, socket.SO_KEEPALIVE, 1)
|
||||||
if tcp_keepcnt:
|
if tcp_keepcnt:
|
||||||
|
if hasattr(socket, 'TCP_KEEPCNT'):
|
||||||
sock.setsockopt(socket.SOL_TCP, socket.TCP_KEEPCNT,
|
sock.setsockopt(socket.SOL_TCP, socket.TCP_KEEPCNT,
|
||||||
tcp_keepcnt)
|
tcp_keepcnt)
|
||||||
|
else:
|
||||||
|
self.msg('tcp_keepcnt not available on your system')
|
||||||
if tcp_keepidle:
|
if tcp_keepidle:
|
||||||
sock.setsockopt(socket.SOL_TCP, socket.TCP_KEEPIDLE,
|
sock.setsockopt(socket.SOL_TCP, socket.TCP_KEEPIDLE,
|
||||||
tcp_keepidle)
|
tcp_keepidle)
|
||||||
|
|
Loading…
Reference in New Issue