From 19c5bfb42cef43836555bb915fb7346d42e02776 Mon Sep 17 00:00:00 2001 From: "roberto@debian32" Date: Fri, 14 Oct 2011 18:32:17 +0200 Subject: [PATCH] fixed a spooler signal bug spotted by Gabriele Giaccari --- master_utils.c | 6 ++++-- spooler.c | 3 --- 2 files changed, 4 insertions(+), 5 deletions(-) diff --git a/master_utils.c b/master_utils.c index 7ea89c48..baddbcbd 100644 --- a/master_utils.c +++ b/master_utils.c @@ -52,8 +52,10 @@ void uwsgi_fixup_fds(int wid, int muleid) { } } #ifdef UWSGI_SPOOLER - if (uwsgi.shared->spooler_signal_pipe[0] != -1) close (uwsgi.shared->spooler_signal_pipe[0]); - if (uwsgi.shared->spooler_signal_pipe[1] != -1) close (uwsgi.shared->spooler_signal_pipe[1]); + if (uwsgi.shared->spooler_pid != getpid()) { + if (uwsgi.shared->spooler_signal_pipe[0] != -1) close (uwsgi.shared->spooler_signal_pipe[0]); + if (uwsgi.shared->spooler_signal_pipe[1] != -1) close (uwsgi.shared->spooler_signal_pipe[1]); + } #endif if (uwsgi.shared->mule_signal_pipe[0] != -1) close(uwsgi.shared->mule_signal_pipe[0]); diff --git a/spooler.c b/spooler.c index e3c4c688..d74364c9 100644 --- a/spooler.c +++ b/spooler.c @@ -55,9 +55,6 @@ pid_t spooler_start() { spooler(); } else if (pid > 0) { - if (uwsgi.master_process) { - close(uwsgi.shared->spooler_signal_pipe[1]); - } uwsgi_log("spawned the uWSGI spooler on dir %s with pid %d\n", uwsgi.spool_dir, pid); }