diff --git a/mxqd.c b/mxqd.c index 86abc683..bfff359d 100644 --- a/mxqd.c +++ b/mxqd.c @@ -1364,9 +1364,6 @@ void server_dump(struct mxq_server *server) struct mxq_group *group; struct mxq_job *job; - if (!server->user_cnt) - return; - mx_log_info("====================== SERVER DUMP START ======================"); for (ulist = server->users; ulist; ulist = ulist->next) { if (!ulist->groups) { @@ -2300,6 +2297,17 @@ static void process_signal(struct mxq_server *server,int sig,int extra) mx_log_info("received sigusr2"); global_sigrestart_cnt++; break; + case SIGUSR2: + switch (extra) { + case 10: + mx_log_info("received sigusr2 extra %d (dump)",extra); + server_dump(server); + break; + default: + mx_log_warning("received sigusr2 extra %d (unexpected!)",extra); + break; + } + break; case SIGCHLD: mx_log_info("received sigchld"); break;