From 39cf2887c44e67ffc99db538d255666caa1bae7a Mon Sep 17 00:00:00 2001 From: Unbit Date: Fri, 14 Mar 2014 11:28:53 +0100 Subject: [PATCH] added SIGURG to the Emperor --- core/emperor.c | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/core/emperor.c b/core/emperor.c index 144d6d07..a31f2a2e 100644 --- a/core/emperor.c +++ b/core/emperor.c @@ -1521,6 +1521,15 @@ int uwsgi_emperor_scanner_event(int fd) { static void emperor_wakeup(int sn) {} +static void emperor_cleanup() { + uwsgi_log_verbose("[uwsgi-emperor] cleaning up blacklist ...\n"); + struct uwsgi_instance *ui_current = ui; + while (ui_current->ui_next) { + uwsgi_emperor_blacklist_remove(ui_current->name); + ui_current = ui_current->ui_next; + } +} + void emperor_loop() { // monitor a directory @@ -1555,6 +1564,7 @@ void emperor_loop() { uwsgi_unix_signal(SIGQUIT, royal_death); uwsgi_unix_signal(SIGUSR1, emperor_stats); uwsgi_unix_signal(SIGHUP, emperor_massive_reload); + uwsgi_unix_signal(SIGURG, emperor_cleanup); memset(&ui_base, 0, sizeof(struct uwsgi_instance));