mirror of
https://github.com/frappe/gunicorn.git
synced 2026-01-14 11:09:11 +08:00
Python 3.3+: replace deprecated aliases
since 3.3: EnvironmentError, IOError, socket.error and select.error are merged into IOError. They may now return a more specific subclass - which this commit does not utilize yet.
This commit is contained in:
parent
ec85b32d3b
commit
4f7766585d
@ -17,7 +17,7 @@ class MemoryWatch(threading.Thread):
|
|||||||
def memory_usage(self, pid):
|
def memory_usage(self, pid):
|
||||||
try:
|
try:
|
||||||
out = commands.getoutput("ps -o rss -p %s" % pid)
|
out = commands.getoutput("ps -o rss -p %s" % pid)
|
||||||
except IOError:
|
except OSError:
|
||||||
return -1
|
return -1
|
||||||
used_mem = sum(int(x) for x in out.split('\n')[1:])
|
used_mem = sum(int(x) for x in out.split('\n')[1:])
|
||||||
return used_mem
|
return used_mem
|
||||||
|
|||||||
@ -332,7 +332,7 @@ class Arbiter:
|
|||||||
"""
|
"""
|
||||||
try:
|
try:
|
||||||
os.write(self.PIPE[1], b'.')
|
os.write(self.PIPE[1], b'.')
|
||||||
except IOError as e:
|
except OSError as e:
|
||||||
if e.errno not in [errno.EAGAIN, errno.EINTR]:
|
if e.errno not in [errno.EAGAIN, errno.EINTR]:
|
||||||
raise
|
raise
|
||||||
|
|
||||||
@ -361,7 +361,7 @@ class Arbiter:
|
|||||||
return
|
return
|
||||||
while os.read(self.PIPE[0], 1):
|
while os.read(self.PIPE[0], 1):
|
||||||
pass
|
pass
|
||||||
except (select.error, OSError) as e:
|
except OSError as e:
|
||||||
# TODO: select.error is a subclass of OSError since Python 3.3.
|
# TODO: select.error is a subclass of OSError since Python 3.3.
|
||||||
error_number = getattr(e, 'errno', e.args[0])
|
error_number = getattr(e, 'errno', e.args[0])
|
||||||
if error_number not in [errno.EAGAIN, errno.EINTR]:
|
if error_number not in [errno.EAGAIN, errno.EINTR]:
|
||||||
|
|||||||
@ -36,7 +36,7 @@ class Spew:
|
|||||||
try:
|
try:
|
||||||
src = inspect.getsourcelines(frame)
|
src = inspect.getsourcelines(frame)
|
||||||
line = src[lineno]
|
line = src[lineno]
|
||||||
except IOError:
|
except OSError:
|
||||||
line = 'Unknown code named [%s]. VM instruction #%d' % (
|
line = 'Unknown code named [%s]. VM instruction #%d' % (
|
||||||
frame.f_code.co_name, frame.f_lasti)
|
frame.f_code.co_name, frame.f_lasti)
|
||||||
if self.trace_names is None or name in self.trace_names:
|
if self.trace_names is None or name in self.trace_names:
|
||||||
|
|||||||
@ -372,13 +372,13 @@ class Request(Message):
|
|||||||
try:
|
try:
|
||||||
socket.inet_pton(socket.AF_INET, s_addr)
|
socket.inet_pton(socket.AF_INET, s_addr)
|
||||||
socket.inet_pton(socket.AF_INET, d_addr)
|
socket.inet_pton(socket.AF_INET, d_addr)
|
||||||
except socket.error:
|
except OSError:
|
||||||
raise InvalidProxyLine(line)
|
raise InvalidProxyLine(line)
|
||||||
elif proto == "TCP6":
|
elif proto == "TCP6":
|
||||||
try:
|
try:
|
||||||
socket.inet_pton(socket.AF_INET6, s_addr)
|
socket.inet_pton(socket.AF_INET6, s_addr)
|
||||||
socket.inet_pton(socket.AF_INET6, d_addr)
|
socket.inet_pton(socket.AF_INET6, d_addr)
|
||||||
except socket.error:
|
except OSError:
|
||||||
raise InvalidProxyLine(line)
|
raise InvalidProxyLine(line)
|
||||||
|
|
||||||
try:
|
try:
|
||||||
|
|||||||
@ -79,7 +79,7 @@ class Pidfile:
|
|||||||
if e.args[0] == errno.ESRCH:
|
if e.args[0] == errno.ESRCH:
|
||||||
return
|
return
|
||||||
raise
|
raise
|
||||||
except IOError as e:
|
except OSError as e:
|
||||||
if e.args[0] == errno.ENOENT:
|
if e.args[0] == errno.ENOENT:
|
||||||
return
|
return
|
||||||
raise
|
raise
|
||||||
|
|||||||
@ -42,7 +42,7 @@ class BaseSocket:
|
|||||||
and hasattr(socket, 'SO_REUSEPORT')): # pragma: no cover
|
and hasattr(socket, 'SO_REUSEPORT')): # pragma: no cover
|
||||||
try:
|
try:
|
||||||
sock.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEPORT, 1)
|
sock.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEPORT, 1)
|
||||||
except socket.error as err:
|
except OSError as err:
|
||||||
if err.errno not in (errno.ENOPROTOOPT, errno.EINVAL):
|
if err.errno not in (errno.ENOPROTOOPT, errno.EINVAL):
|
||||||
raise
|
raise
|
||||||
if not bound:
|
if not bound:
|
||||||
@ -65,7 +65,7 @@ class BaseSocket:
|
|||||||
|
|
||||||
try:
|
try:
|
||||||
self.sock.close()
|
self.sock.close()
|
||||||
except socket.error as e:
|
except OSError as e:
|
||||||
self.log.info("Error while closing socket %s", str(e))
|
self.log.info("Error while closing socket %s", str(e))
|
||||||
|
|
||||||
self.sock = None
|
self.sock = None
|
||||||
@ -182,7 +182,7 @@ def create_sockets(conf, log, fds=None):
|
|||||||
for i in range(5):
|
for i in range(5):
|
||||||
try:
|
try:
|
||||||
sock = sock_type(addr, conf, log)
|
sock = sock_type(addr, conf, log)
|
||||||
except socket.error as e:
|
except OSError as e:
|
||||||
if e.args[0] == errno.EADDRINUSE:
|
if e.args[0] == errno.EADDRINUSE:
|
||||||
log.error("Connection in use: %s", str(addr))
|
log.error("Connection in use: %s", str(addr))
|
||||||
if e.args[0] == errno.EADDRNOTAVAIL:
|
if e.args[0] == errno.EADDRNOTAVAIL:
|
||||||
|
|||||||
@ -216,7 +216,7 @@ def unlink(filename):
|
|||||||
def is_ipv6(addr):
|
def is_ipv6(addr):
|
||||||
try:
|
try:
|
||||||
socket.inet_pton(socket.AF_INET6, addr)
|
socket.inet_pton(socket.AF_INET6, addr)
|
||||||
except socket.error: # not a valid address
|
except OSError: # not a valid address
|
||||||
return False
|
return False
|
||||||
except ValueError: # ipv6 not supported on this platform
|
except ValueError: # ipv6 not supported on this platform
|
||||||
return False
|
return False
|
||||||
@ -268,7 +268,7 @@ def set_non_blocking(fd):
|
|||||||
def close(sock):
|
def close(sock):
|
||||||
try:
|
try:
|
||||||
sock.close()
|
sock.close()
|
||||||
except socket.error:
|
except OSError:
|
||||||
pass
|
pass
|
||||||
|
|
||||||
|
|
||||||
@ -565,7 +565,7 @@ def check_is_writable(path):
|
|||||||
try:
|
try:
|
||||||
with open(path, 'a') as f:
|
with open(path, 'a') as f:
|
||||||
f.close()
|
f.close()
|
||||||
except IOError as e:
|
except OSError as e:
|
||||||
raise RuntimeError("Error: '%s' isn't writable [%r]" % (path, e))
|
raise RuntimeError("Error: '%s' isn't writable [%r]" % (path, e))
|
||||||
|
|
||||||
|
|
||||||
@ -586,7 +586,7 @@ def has_fileno(obj):
|
|||||||
# check BytesIO case and maybe others
|
# check BytesIO case and maybe others
|
||||||
try:
|
try:
|
||||||
obj.fileno()
|
obj.fileno()
|
||||||
except (AttributeError, IOError, io.UnsupportedOperation):
|
except (AttributeError, OSError, io.UnsupportedOperation):
|
||||||
return False
|
return False
|
||||||
|
|
||||||
return True
|
return True
|
||||||
|
|||||||
@ -59,7 +59,7 @@ class AsyncWorker(base.Worker):
|
|||||||
except ssl.SSLError:
|
except ssl.SSLError:
|
||||||
# pass to next try-except level
|
# pass to next try-except level
|
||||||
util.reraise(*sys.exc_info())
|
util.reraise(*sys.exc_info())
|
||||||
except EnvironmentError:
|
except OSError:
|
||||||
# pass to next try-except level
|
# pass to next try-except level
|
||||||
util.reraise(*sys.exc_info())
|
util.reraise(*sys.exc_info())
|
||||||
except Exception as e:
|
except Exception as e:
|
||||||
@ -71,7 +71,7 @@ class AsyncWorker(base.Worker):
|
|||||||
else:
|
else:
|
||||||
self.log.debug("Error processing SSL request.")
|
self.log.debug("Error processing SSL request.")
|
||||||
self.handle_error(req, client, addr, e)
|
self.handle_error(req, client, addr, e)
|
||||||
except EnvironmentError as e:
|
except OSError as e:
|
||||||
if e.errno not in (errno.EPIPE, errno.ECONNRESET, errno.ENOTCONN):
|
if e.errno not in (errno.EPIPE, errno.ECONNRESET, errno.ENOTCONN):
|
||||||
self.log.exception("Socket error processing request.")
|
self.log.exception("Socket error processing request.")
|
||||||
else:
|
else:
|
||||||
@ -123,7 +123,7 @@ class AsyncWorker(base.Worker):
|
|||||||
raise StopIteration()
|
raise StopIteration()
|
||||||
except StopIteration:
|
except StopIteration:
|
||||||
raise
|
raise
|
||||||
except EnvironmentError:
|
except OSError:
|
||||||
# If the original exception was a socket.error we delegate
|
# If the original exception was a socket.error we delegate
|
||||||
# handling it to the caller (where handle() might ignore it)
|
# handling it to the caller (where handle() might ignore it)
|
||||||
util.reraise(*sys.exc_info())
|
util.reraise(*sys.exc_info())
|
||||||
@ -135,7 +135,7 @@ class AsyncWorker(base.Worker):
|
|||||||
try:
|
try:
|
||||||
sock.shutdown(socket.SHUT_RDWR)
|
sock.shutdown(socket.SHUT_RDWR)
|
||||||
sock.close()
|
sock.close()
|
||||||
except EnvironmentError:
|
except OSError:
|
||||||
pass
|
pass
|
||||||
raise StopIteration()
|
raise StopIteration()
|
||||||
raise
|
raise
|
||||||
|
|||||||
@ -127,7 +127,7 @@ class ThreadWorker(base.Worker):
|
|||||||
with self._lock:
|
with self._lock:
|
||||||
self.poller.register(conn.sock, selectors.EVENT_READ,
|
self.poller.register(conn.sock, selectors.EVENT_READ,
|
||||||
partial(self.on_client_socket_readable, conn))
|
partial(self.on_client_socket_readable, conn))
|
||||||
except EnvironmentError as e:
|
except OSError as e:
|
||||||
if e.errno not in (errno.EAGAIN, errno.ECONNABORTED,
|
if e.errno not in (errno.EAGAIN, errno.ECONNABORTED,
|
||||||
errno.EWOULDBLOCK):
|
errno.EWOULDBLOCK):
|
||||||
raise
|
raise
|
||||||
@ -170,7 +170,7 @@ class ThreadWorker(base.Worker):
|
|||||||
with self._lock:
|
with self._lock:
|
||||||
try:
|
try:
|
||||||
self.poller.unregister(conn.sock)
|
self.poller.unregister(conn.sock)
|
||||||
except EnvironmentError as e:
|
except OSError as e:
|
||||||
if e.errno != errno.EBADF:
|
if e.errno != errno.EBADF:
|
||||||
raise
|
raise
|
||||||
except KeyError:
|
except KeyError:
|
||||||
@ -294,7 +294,7 @@ class ThreadWorker(base.Worker):
|
|||||||
self.log.debug("Error processing SSL request.")
|
self.log.debug("Error processing SSL request.")
|
||||||
self.handle_error(req, conn.sock, conn.client, e)
|
self.handle_error(req, conn.sock, conn.client, e)
|
||||||
|
|
||||||
except EnvironmentError as e:
|
except OSError as e:
|
||||||
if e.errno not in (errno.EPIPE, errno.ECONNRESET, errno.ENOTCONN):
|
if e.errno not in (errno.EPIPE, errno.ECONNRESET, errno.ENOTCONN):
|
||||||
self.log.exception("Socket error processing request.")
|
self.log.exception("Socket error processing request.")
|
||||||
else:
|
else:
|
||||||
@ -348,7 +348,7 @@ class ThreadWorker(base.Worker):
|
|||||||
if resp.should_close():
|
if resp.should_close():
|
||||||
self.log.debug("Closing connection.")
|
self.log.debug("Closing connection.")
|
||||||
return False
|
return False
|
||||||
except EnvironmentError:
|
except OSError:
|
||||||
# pass to next try-except level
|
# pass to next try-except level
|
||||||
util.reraise(*sys.exc_info())
|
util.reraise(*sys.exc_info())
|
||||||
except Exception:
|
except Exception:
|
||||||
@ -359,7 +359,7 @@ class ThreadWorker(base.Worker):
|
|||||||
try:
|
try:
|
||||||
conn.sock.shutdown(socket.SHUT_RDWR)
|
conn.sock.shutdown(socket.SHUT_RDWR)
|
||||||
conn.sock.close()
|
conn.sock.close()
|
||||||
except EnvironmentError:
|
except OSError:
|
||||||
pass
|
pass
|
||||||
raise StopIteration()
|
raise StopIteration()
|
||||||
raise
|
raise
|
||||||
|
|||||||
@ -39,7 +39,7 @@ class SyncWorker(base.Worker):
|
|||||||
os.read(self.PIPE[0], 1)
|
os.read(self.PIPE[0], 1)
|
||||||
return ret[0]
|
return ret[0]
|
||||||
|
|
||||||
except select.error as e:
|
except OSError as e:
|
||||||
if e.args[0] == errno.EINTR:
|
if e.args[0] == errno.EINTR:
|
||||||
return self.sockets
|
return self.sockets
|
||||||
if e.args[0] == errno.EBADF:
|
if e.args[0] == errno.EBADF:
|
||||||
@ -72,7 +72,7 @@ class SyncWorker(base.Worker):
|
|||||||
# process.
|
# process.
|
||||||
continue
|
continue
|
||||||
|
|
||||||
except EnvironmentError as e:
|
except OSError as e:
|
||||||
if e.errno not in (errno.EAGAIN, errno.ECONNABORTED,
|
if e.errno not in (errno.EAGAIN, errno.ECONNABORTED,
|
||||||
errno.EWOULDBLOCK):
|
errno.EWOULDBLOCK):
|
||||||
raise
|
raise
|
||||||
@ -101,7 +101,7 @@ class SyncWorker(base.Worker):
|
|||||||
|
|
||||||
try:
|
try:
|
||||||
self.accept(listener)
|
self.accept(listener)
|
||||||
except EnvironmentError as e:
|
except OSError as e:
|
||||||
if e.errno not in (errno.EAGAIN, errno.ECONNABORTED,
|
if e.errno not in (errno.EAGAIN, errno.ECONNABORTED,
|
||||||
errno.EWOULDBLOCK):
|
errno.EWOULDBLOCK):
|
||||||
raise
|
raise
|
||||||
@ -143,7 +143,7 @@ class SyncWorker(base.Worker):
|
|||||||
else:
|
else:
|
||||||
self.log.debug("Error processing SSL request.")
|
self.log.debug("Error processing SSL request.")
|
||||||
self.handle_error(req, client, addr, e)
|
self.handle_error(req, client, addr, e)
|
||||||
except EnvironmentError as e:
|
except OSError as e:
|
||||||
if e.errno not in (errno.EPIPE, errno.ECONNRESET, errno.ENOTCONN):
|
if e.errno not in (errno.EPIPE, errno.ECONNRESET, errno.ENOTCONN):
|
||||||
self.log.exception("Socket error processing request.")
|
self.log.exception("Socket error processing request.")
|
||||||
else:
|
else:
|
||||||
@ -187,7 +187,7 @@ class SyncWorker(base.Worker):
|
|||||||
self.log.access(resp, req, environ, request_time)
|
self.log.access(resp, req, environ, request_time)
|
||||||
if hasattr(respiter, "close"):
|
if hasattr(respiter, "close"):
|
||||||
respiter.close()
|
respiter.close()
|
||||||
except EnvironmentError:
|
except OSError:
|
||||||
# pass to next try-except level
|
# pass to next try-except level
|
||||||
util.reraise(*sys.exc_info())
|
util.reraise(*sys.exc_info())
|
||||||
except Exception:
|
except Exception:
|
||||||
@ -198,7 +198,7 @@ class SyncWorker(base.Worker):
|
|||||||
try:
|
try:
|
||||||
client.shutdown(socket.SHUT_RDWR)
|
client.shutdown(socket.SHUT_RDWR)
|
||||||
client.close()
|
client.close()
|
||||||
except EnvironmentError:
|
except OSError:
|
||||||
pass
|
pass
|
||||||
raise StopIteration()
|
raise StopIteration()
|
||||||
raise
|
raise
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user