From 4b35a635629f852eccbbfc68d454083586804072 Mon Sep 17 00:00:00 2001 From: Juhani Haverinen Date: Tue, 12 Jul 2016 17:16:21 +0300 Subject: [PATCH] Only attempt to set IPV6_V6ONLY for IPv6 sockets --- neomi.py | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/neomi.py b/neomi.py index 90c05b2..ec93ac2 100644 --- a/neomi.py +++ b/neomi.py @@ -36,10 +36,12 @@ def bind(port, backlog = 1): s = socket.socket(af, socktype, proto) except OSError: continue - try: - s.setsockopt(socket.IPPROTO_IPV6, socket.IPV6_V6ONLY, 1) - except OSError: - pass + # Make IPv6 socket only bind on IPv6 address, otherwise may clash with IPv4 and not get enabled + if af == socket.AF_INET6: + try: + s.setsockopt(socket.IPPROTO_IPV6, socket.IPV6_V6ONLY, 1) + except OSError: + pass try: s.bind(sa) s.listen(backlog)