Exit gracefully when socket fails to open
This fixes prevents a traceback that was shown when trying to listen to an address on which 'bind' fails.
This commit is contained in:
parent
99f83ca083
commit
f05cd203de
|
|
@ -718,20 +718,25 @@ class WebSockifyServer():
|
||||||
be overridden) for each new client connection.
|
be overridden) for each new client connection.
|
||||||
"""
|
"""
|
||||||
|
|
||||||
if self.listen_fd != None:
|
try:
|
||||||
lsock = socket.fromfd(self.listen_fd, socket.AF_INET, socket.SOCK_STREAM)
|
if self.listen_fd != None:
|
||||||
elif self.unix_listen != None:
|
lsock = socket.fromfd(self.listen_fd, socket.AF_INET, socket.SOCK_STREAM)
|
||||||
lsock = self.socket(host=None,
|
elif self.unix_listen != None:
|
||||||
unix_socket=self.unix_listen,
|
lsock = self.socket(host=None,
|
||||||
unix_socket_mode=self.unix_listen_mode,
|
unix_socket=self.unix_listen,
|
||||||
unix_socket_listen=True)
|
unix_socket_mode=self.unix_listen_mode,
|
||||||
else:
|
unix_socket_listen=True)
|
||||||
lsock = self.socket(self.listen_host, self.listen_port, False,
|
else:
|
||||||
self.prefer_ipv6,
|
lsock = self.socket(self.listen_host, self.listen_port, False,
|
||||||
tcp_keepalive=self.tcp_keepalive,
|
self.prefer_ipv6,
|
||||||
tcp_keepcnt=self.tcp_keepcnt,
|
tcp_keepalive=self.tcp_keepalive,
|
||||||
tcp_keepidle=self.tcp_keepidle,
|
tcp_keepcnt=self.tcp_keepcnt,
|
||||||
tcp_keepintvl=self.tcp_keepintvl)
|
tcp_keepidle=self.tcp_keepidle,
|
||||||
|
tcp_keepintvl=self.tcp_keepintvl)
|
||||||
|
except OSError as e:
|
||||||
|
self.msg("Openening socket failed: %s", str(e))
|
||||||
|
self.vmsg("exception", exc_info=True)
|
||||||
|
sys.exit()
|
||||||
|
|
||||||
if self.daemon:
|
if self.daemon:
|
||||||
keepfd = self.get_log_fd()
|
keepfd = self.get_log_fd()
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue