we want to raise here on socket.error, so we can handle error later

This commit is contained in:
benoitc 2010-03-26 21:09:22 +01:00
parent 4dbde5c2ef
commit 53e756ec9f
3 changed files with 7 additions and 4 deletions

View File

@ -28,7 +28,7 @@ class EventletWorker(KeepaliveWorker):
client, addr = self.socket.accept()
self.pool.spawn_n(self.handle, client, addr)
except socket.error, e:
if e[0] in (errno.EWOULDBLOCK, errno.EAGAIN):
if e[0] in (errno.EWOULDBLOCK, errno.EAGAIN, errno.ECONNABORTED):
return
raise

View File

@ -28,15 +28,16 @@ class GEventWorker(KeepaliveWorker):
client, addr = self.socket.accept()
self.pool.spawn(self.handle, client, addr)
except socket.error, e:
if e[0] not in (errno.EAGAIN, errno.EWOULDBLOCK):
raise
if e[0] in (errno.EAGAIN, errno.EWOULDBLOCK, errno.ECONNABORTED):
return
raise
class GEventArbiter(arbiter.Arbiter):
@classmethod
def setup(cls):
from gevent import monkey
monkey.patch_all(thread=True, ssl=True)
monkey.patch_all()
def init_worker(self, worker_age, pid, listener, app, timeout, conf):
return GEventWorker(worker_age, pid, listener, app, timeout, conf)

View File

@ -169,6 +169,8 @@ class Worker(object):
req.response.close()
if hasattr(respiter, "close"):
respiter.close()
except socket.error:
raise
except Exception, e:
# Only send back traceback in HTTP in debug mode.
if not self.debug: