Merge pull request #1651 from ant1g/fix/1645-gevent-handle_usr1

Make the gevent workers handle the usr1 signal by deferring to a new greenlet
This commit is contained in:
Randall Leeds 2018-01-25 14:40:56 -08:00 committed by GitHub
commit d32f4ca325
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
3 changed files with 9 additions and 0 deletions

1
THANKS
View File

@ -20,6 +20,7 @@ Andreas Stührk <andy-python@hammerhartes.de>
Andrew Burdo <zeezooz@gmail.com>
Andrew Svetlov <andrew.svetlov@gmail.com>
Anil V <avaitla16@gmail.com>
Antoine Girard <antoine.girard.dev@gmail.com>
Anton Vlasenko <antares.spica@gmail.com>
Bartosz Oler <bartosz@bzimage.us>
Ben Cochran <bcochran@gmail.com>

View File

@ -105,6 +105,9 @@ class EventletWorker(AsyncWorker):
def handle_quit(self, sig, frame):
eventlet.spawn(super(EventletWorker, self).handle_quit, sig, frame)
def handle_usr1(self, sig, frame):
eventlet.spawn(super(EventletWorker, self).handle_usr1, sig, frame)
def timeout_ctx(self):
return eventlet.Timeout(self.cfg.keepalive or None, False)

View File

@ -168,6 +168,11 @@ class GeventWorker(AsyncWorker):
# blocking calls. See #1126
gevent.spawn(super(GeventWorker, self).handle_quit, sig, frame)
def handle_usr1(self, sig, frame):
# Make the gevent workers handle the usr1 signal
# by deferring to a new greenlet. See #1645
gevent.spawn(super(GeventWorker, self).handle_usr1, sig, frame)
if gevent.version_info[0] == 0:
def init_process(self):