mirror of
https://github.com/frappe/gunicorn.git
synced 2026-01-14 11:09:11 +08:00
Merge pull request #1483 from benoitc/fix/1480-reuse-port-fail
Catch errors setting SO_REUSEPORT
This commit is contained in:
commit
ef53d02ad0
@ -39,8 +39,12 @@ class BaseSocket(object):
|
|||||||
|
|
||||||
def set_options(self, sock, bound=False):
|
def set_options(self, sock, bound=False):
|
||||||
sock.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEADDR, 1)
|
sock.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEADDR, 1)
|
||||||
if hasattr(socket, 'SO_REUSEPORT'):
|
if hasattr(socket, 'SO_REUSEPORT'): # pragma: no cover
|
||||||
sock.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEPORT, 1)
|
try:
|
||||||
|
sock.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEPORT, 1)
|
||||||
|
except socket.error as err:
|
||||||
|
if err[0] not in (errno.ENOPROTOOPT, errno.EINVAL):
|
||||||
|
raise
|
||||||
if not bound:
|
if not bound:
|
||||||
self.bind(sock)
|
self.bind(sock)
|
||||||
sock.setblocking(0)
|
sock.setblocking(0)
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user