mirror of
https://github.com/frappe/gunicorn.git
synced 2026-01-14 11:09:11 +08:00
Merge pull request #2277 from JordanP/graceful-enotconn
Do not raise and crash worker on ENOTCONN error
This commit is contained in:
commit
b7f2a82731
@ -73,11 +73,13 @@ class AsyncWorker(base.Worker):
|
||||
self.log.debug("Error processing SSL request.")
|
||||
self.handle_error(req, client, addr, e)
|
||||
except EnvironmentError as e:
|
||||
if e.errno not in (errno.EPIPE, errno.ECONNRESET):
|
||||
if e.errno not in (errno.EPIPE, errno.ECONNRESET, errno.ENOTCONN):
|
||||
self.log.exception("Socket error processing request.")
|
||||
else:
|
||||
if e.errno == errno.ECONNRESET:
|
||||
self.log.debug("Ignoring connection reset")
|
||||
elif e.errno == errno.ENOTCONN:
|
||||
self.log.debug("Ignoring socket not connected")
|
||||
else:
|
||||
self.log.debug("Ignoring EPIPE")
|
||||
except Exception as e:
|
||||
|
||||
@ -285,11 +285,13 @@ class ThreadWorker(base.Worker):
|
||||
self.handle_error(req, conn.sock, conn.client, e)
|
||||
|
||||
except EnvironmentError as e:
|
||||
if e.errno not in (errno.EPIPE, errno.ECONNRESET):
|
||||
if e.errno not in (errno.EPIPE, errno.ECONNRESET, errno.ENOTCONN):
|
||||
self.log.exception("Socket error processing request.")
|
||||
else:
|
||||
if e.errno == errno.ECONNRESET:
|
||||
self.log.debug("Ignoring connection reset")
|
||||
elif e.errno == errno.ENOTCONN:
|
||||
self.log.debug("Ignoring socket not connected")
|
||||
else:
|
||||
self.log.debug("Ignoring connection epipe")
|
||||
except Exception as e:
|
||||
|
||||
@ -146,11 +146,13 @@ class SyncWorker(base.Worker):
|
||||
self.log.debug("Error processing SSL request.")
|
||||
self.handle_error(req, client, addr, e)
|
||||
except EnvironmentError as e:
|
||||
if e.errno not in (errno.EPIPE, errno.ECONNRESET):
|
||||
if e.errno not in (errno.EPIPE, errno.ECONNRESET, errno.ENOTCONN):
|
||||
self.log.exception("Socket error processing request.")
|
||||
else:
|
||||
if e.errno == errno.ECONNRESET:
|
||||
self.log.debug("Ignoring connection reset")
|
||||
elif e.errno == errno.ENOTCONN:
|
||||
self.log.debug("Ignoring socket not connected")
|
||||
else:
|
||||
self.log.debug("Ignoring EPIPE")
|
||||
except Exception as e:
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user