From 8aa739b4b2bc103ec8a2c88fdec4f2a697608a05 Mon Sep 17 00:00:00 2001 From: Unbit Date: Sat, 26 Jan 2013 04:20:00 +0100 Subject: [PATCH] backported --emperor-procname --- core/emperor.c | 10 +++++++++- core/uwsgi.c | 1 + uwsgi.h | 1 + 3 files changed, 11 insertions(+), 1 deletion(-) diff --git a/core/emperor.c b/core/emperor.c index 8739d584..0a8d2b49 100644 --- a/core/emperor.c +++ b/core/emperor.c @@ -1324,13 +1324,21 @@ end: void uwsgi_emperor_start() { if (!uwsgi.sockets && !ushared->gateways_cnt && !uwsgi.master_process) { + if (uwsgi.emperor_procname) { + uwsgi_set_processname(uwsgi.emperor_procname); + } uwsgi_notify_ready(); emperor_loop(); // never here exit(1); } - uwsgi.emperor_pid = uwsgi_fork("uWSGI Emperor"); + if (uwsgi.emperor_procname) { + uwsgi.emperor_pid = uwsgi_fork(uwsgi.emperor_procname); + } + else { + uwsgi.emperor_pid = uwsgi_fork("uWSGI Emperor"); + } if (uwsgi.emperor_pid < 0) { uwsgi_error("pid()"); exit(1); diff --git a/core/uwsgi.c b/core/uwsgi.c index 961b70b6..087eaddc 100644 --- a/core/uwsgi.c +++ b/core/uwsgi.c @@ -140,6 +140,7 @@ static struct uwsgi_option uwsgi_base_options[] = { {"need-app", no_argument, 0, "exit if no app can be loaded", uwsgi_opt_true, &uwsgi.need_app, 0}, {"master", no_argument, 'M', "enable master process", uwsgi_opt_true, &uwsgi.master_process, 0}, {"emperor", required_argument, 0, "run the Emperor", uwsgi_opt_add_string_list, &uwsgi.emperor, 0}, + {"emperor-procname", required_argument, 0, "set the Emperor process name", uwsgi_opt_set_str, &uwsgi.emperor_procname, 0}, {"emperor-freq", required_argument, 0, "set the Emperor scan frequency (default 3 seconds)", uwsgi_opt_set_int, &uwsgi.emperor_freq, 0}, {"emperor-required-heartbeat", required_argument, 0, "set the Emperor tolerance about heartbeats", uwsgi_opt_set_int, &uwsgi.emperor_heartbeat, 0}, {"emperor-pidfile", required_argument, 0, "write the Emperor pid in the specified file", uwsgi_opt_set_str, &uwsgi.emperor_pidfile, 0}, diff --git a/uwsgi.h b/uwsgi.h index 98c97e35..6982f830 100644 --- a/uwsgi.h +++ b/uwsgi.h @@ -1293,6 +1293,7 @@ struct uwsgi_server { // true if run under the emperor int has_emperor; + char *emperor_procname; int emperor_fd; int emperor_queue; int emperor_tyrant;