From: schlamar Date: Tue, 11 Jun 2013 12:38:32 +0000 (+0200) Subject: Fix bind_sockets if OS does not support IPv6 X-Git-Tag: v3.1.0~7^2 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=refs%2Fpull%2F823%2Fhead;p=thirdparty%2Ftornado.git Fix bind_sockets if OS does not support IPv6 --- diff --git a/tornado/netutil.py b/tornado/netutil.py index bbd11485a..370371804 100644 --- a/tornado/netutil.py +++ b/tornado/netutil.py @@ -66,7 +66,12 @@ def bind_sockets(port, address=None, family=socket.AF_UNSPEC, backlog=128, flags for res in set(socket.getaddrinfo(address, port, family, socket.SOCK_STREAM, 0, flags)): af, socktype, proto, canonname, sockaddr = res - sock = socket.socket(af, socktype, proto) + try: + sock = socket.socket(af, socktype, proto) + except socket.error as e: + if e.args[0] == errno.EAFNOSUPPORT: + continue + raise set_close_exec(sock.fileno()) if os.name != 'nt': sock.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEADDR, 1)