[Python-modules-commits] [python-zeroconf] 14/17: Support kernel versions <3.9

Ruben Undheim rubund-guest at moszumanska.debian.org
Mon Oct 5 07:56:11 UTC 2015


This is an automated email from the git hooks/post-receive script.

rubund-guest pushed a commit to branch master
in repository python-zeroconf.

commit 023426e0f8982640f46bca3dfcd3abeee2cb832f
Author: Giovanni Harting <chefeificationful at gmail.com>
Date:   Tue Sep 1 23:47:40 2015 +0200

    Support kernel versions <3.9
    
    added catch of OSError
    added catch of socket.error for python2
---
 zeroconf.py | 8 +++++++-
 1 file changed, 7 insertions(+), 1 deletion(-)

diff --git a/zeroconf.py b/zeroconf.py
index e636a41..3348fb6 100644
--- a/zeroconf.py
+++ b/zeroconf.py
@@ -1295,12 +1295,18 @@ def new_socket():
     # Volume 2"), but some BSD-derived systems require
     # SO_REUSEPORT to be specified explicity.  Also, not all
     # versions of Python have SO_REUSEPORT available.
+    # Catch OSError and socket.error for kernel versions <3.9 because lacking
+    # SO_REUSEPORT support.
     try:
         reuseport = socket.SO_REUSEPORT
     except AttributeError:
         pass
     else:
-        s.setsockopt(socket.SOL_SOCKET, reuseport, 1)
+        try:
+            s.setsockopt(socket.SOL_SOCKET, reuseport, 1)
+        except (OSError, socket.error) as err:  # OSError on python 3, socket.error on python 2
+            if not err.errno == errno.ENOPROTOOPT:
+                raise
 
     s.setsockopt(socket.IPPROTO_IP, socket.IP_MULTICAST_TTL, 255)
     s.setsockopt(socket.IPPROTO_IP, socket.IP_MULTICAST_LOOP, 1)

-- 
Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/python-modules/packages/python-zeroconf.git



More information about the Python-modules-commits mailing list