From 004f441d5945f999e9cdccbbc999ba32aa2017c5 Mon Sep 17 00:00:00 2001 From: Benoit Chesneau Date: Sun, 10 Jan 2010 10:15:05 +0100 Subject: [PATCH] revert a change. fix worker kill --- gunicorn/arbiter.py | 1 + gunicorn/worker.py | 6 +++--- 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/gunicorn/arbiter.py b/gunicorn/arbiter.py index 1ae9fb9e..12dc18be 100644 --- a/gunicorn/arbiter.py +++ b/gunicorn/arbiter.py @@ -158,6 +158,7 @@ class Arbiter(object): self.stop() def handle_quit(self): + self.stop(False) raise StopIteration def handle_int(self): diff --git a/gunicorn/worker.py b/gunicorn/worker.py index 39299caf..50f25c54 100644 --- a/gunicorn/worker.py +++ b/gunicorn/worker.py @@ -53,7 +53,7 @@ class Worker(object): self.address = socket.getsockname() self.tmp = os.tmpfile() self.app = app - self.alive = self.tmp.fileno() + self.alive = True def init_signals(self): map(lambda s: signal.signal(s, signal.SIG_DFL), self.SIGNALS) @@ -74,7 +74,7 @@ class Worker(object): spinner = (spinner+1) % 2 os.fchmod(self.alive, spinner) - while True: + while self.alive: try: ret = select.select([self.socket], [], [], 2.0) except select.error, e: @@ -87,7 +87,7 @@ class Worker(object): # processing clients that more clients are waiting. When # there's no more clients waiting we go back to the select() # loop and wait for some lovin. - while True: + while self.alive: try: (conn, addr) = self.socket.accept() except socket.error, e: