Remove unnecessary call to pool_shmem_exit() which removes semaphore when it shouldn't.
authorTatsuo Ishii <ishii@postgresql.org>
Mon, 9 Jun 2014 12:39:21 +0000 (21:39 +0900)
committerTatsuo Ishii <ishii@postgresql.org>
Mon, 9 Jun 2014 12:45:36 +0000 (21:45 +0900)
exit_handler checks if the process is parent or not. This is
good. However, even if it is a child process, it calls
pool_shmem_exit() which removes semaphore and shmem when it should
not (it should be called only from parent process).

Per bug #102.

main.c

diff --git a/main.c b/main.c
index 557629d90ce5c89618de88e31d378280f4bcef1b..31fa32e8b22ebd7861e85952bc078ad15aef6317 100644 (file)
--- a/main.c
+++ b/main.c
@@ -1415,7 +1415,6 @@ static RETSIGTYPE exit_handler(int sig)
        {
                pool_debug("exit_handler: I am not parent");
                POOL_SETMASK(&UnBlockSig);
-               pool_shmem_exit(0);
                exit(0);
        }