From 3c1f1cb126e394067c8076fbe1cfcb68448005ab Mon Sep 17 00:00:00 2001 From: Evan Mezeske Date: Mon, 24 Oct 2011 17:35:46 -0700 Subject: [PATCH] Don't call logging functions in the signal handler. The standard logger uses locking functions which are NOT guaranteed to be re-entrant [1], so this could (potentially) result in deadlock or a crash. [1] http://docs.python.org/library/logging.html Section 15.7.8. --- gunicorn/arbiter.py | 2 -- 1 file changed, 2 deletions(-) diff --git a/gunicorn/arbiter.py b/gunicorn/arbiter.py index 48cd5a87..afc07f5a 100644 --- a/gunicorn/arbiter.py +++ b/gunicorn/arbiter.py @@ -147,8 +147,6 @@ class Arbiter(object): if len(self.SIG_QUEUE) < 5: self.SIG_QUEUE.append(sig) self.wakeup() - else: - self.log.warning("Dropping signal: %s", sig) def run(self): "Main master loop."