From 5ff6cd173fa39c1d68271f405bb0108903f4be95 Mon Sep 17 00:00:00 2001 From: benoitc Date: Wed, 1 Sep 2010 09:46:01 +0200 Subject: [PATCH] prevent GreenletExit exception. But we still have a warning : http://code.google.com/p/gevent/issues/detail?id=41 --- gunicorn/workers/ggevent.py | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/gunicorn/workers/ggevent.py b/gunicorn/workers/ggevent.py index a10f044f..e77b05ff 100644 --- a/gunicorn/workers/ggevent.py +++ b/gunicorn/workers/ggevent.py @@ -125,9 +125,15 @@ class GeventBaseWorker(Worker): gevent.sleep(0.1) except KeyboardInterrupt: pass - - with gevent.Timeout(self.timeout, False): - gevent.spawn(server.stop).join() + + server.stop(timeout=self.timeout) + + def handle_request(self, *args): + try: + super(GeventBaseWorker, self).handle_request(*args) + except gevent.GreenletExit: + pass + class WSGIHandler(wsgi.WSGIHandler): def log_request(self, *args):