Fix exit_handler so that it accepts signal while performing wait().
authorTatsuo Ishii <ishii at sraoss.co.jp>
Mon, 13 Jun 2005 13:32:50 +0000 (13:32 +0000)
committerTatsuo Ishii <ishii at sraoss.co.jp>
Mon, 13 Jun 2005 13:32:50 +0000 (13:32 +0000)
main.c

diff --git a/main.c b/main.c
index 3a2020a041de0d224ef86d6d93c49964c30538a8..0d9ce337bbfe93c217e86d401659b6dab31b7356 100644 (file)
--- a/main.c
+++ b/main.c
@@ -395,7 +395,7 @@ static void stop_me(void)
        pid = read_pid_file();
        if (pid < 0)
        {
-               pool_error("could read pid file");
+               pool_error("could not read pid file");
                exit(1);
        }
 
@@ -691,14 +691,15 @@ static RETSIGTYPE exit_handler(int sig)
                        kill(pid, sig);
                }
        }
+
+       POOL_SETMASK(&UnBlockSig);
+
        while (wait(NULL) > 0)
                ;
 
        if (errno != ECHILD)
                pool_error("wait() failed. reason:%s", strerror(errno));
 
-       POOL_SETMASK(&UnBlockSig);
-
        myexit(0);
 }