From 59062d40c75e940e23c2a8c29c78a7d809b2d57c Mon Sep 17 00:00:00 2001 From: j Date: Thu, 26 Feb 2015 12:18:28 +0530 Subject: [PATCH] dont fail if socket.SO_REUSEPORT is not defined --- oml/localnodes.py | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/oml/localnodes.py b/oml/localnodes.py index 5af17ce..56308fb 100644 --- a/oml/localnodes.py +++ b/oml/localnodes.py @@ -174,7 +174,8 @@ class LocalNodes4(LocalNodesBase): def get_socket(self): s = socket.socket (socket.AF_INET, socket.SOCK_DGRAM) s.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEADDR, 1) - s.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEPORT, 1) + if hasattr(socket, 'SO_REUSEPORT'): + s.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEPORT, 1) mreq = struct.pack("=4sl", socket.inet_aton(self._BROADCAST), socket.INADDR_ANY) s.setsockopt(socket.IPPROTO_IP, socket.IP_ADD_MEMBERSHIP, mreq) self._socket = s @@ -207,7 +208,8 @@ class LocalNodes6(LocalNodesBase): def get_socket(self): s = socket.socket(socket.AF_INET6, socket.SOCK_DGRAM) s.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEADDR, 1) - s.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEPORT, 1) + if hasattr(socket, 'SO_REUSEPORT'): + s.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEPORT, 1) group_bin = socket.inet_pton(socket.AF_INET6, self._BROADCAST) + b'\0'*4 s.setsockopt(socket.IPPROTO_IPV6, socket.IPV6_JOIN_GROUP, group_bin) self._socket = s