From f9ade3af34d2ced37cf95f749c414a995e0118aa Mon Sep 17 00:00:00 2001 From: benoitc Date: Fri, 22 Nov 2019 14:09:20 +0100 Subject: [PATCH] unblock select loop during reload of a sync worker When reloading the worker canbe in the select loop and it will wait until timeout before handling any change. So make sure to wake up the loop before going further. --- gunicorn/workers/base.py | 1 + 1 file changed, 1 insertion(+) diff --git a/gunicorn/workers/base.py b/gunicorn/workers/base.py index 81c0c616..54a6713c 100644 --- a/gunicorn/workers/base.py +++ b/gunicorn/workers/base.py @@ -123,6 +123,7 @@ class Worker(object): def changed(fname): self.log.info("Worker reloading: %s modified", fname) self.alive = False + os.write(self.PIPE[1], b"1") self.cfg.worker_int(self) time.sleep(0.1) sys.exit(0)