]> granicus.if.org Git - postgresql/commitdiff
Reset shmem_exit_inprogress after shmem_exit()
authorPeter Eisentraut <peter_e@gmx.net>
Thu, 12 Jul 2018 18:22:17 +0000 (20:22 +0200)
committerPeter Eisentraut <peter_e@gmx.net>
Thu, 12 Jul 2018 18:25:31 +0000 (20:25 +0200)
In ad9a274778d2d88c46b90309212b92ee7fdf9afe, shmem_exit_inprogress was
introduced.  But we need to reset it after shmem_exit(), because unlike
the similar proc_exit(), shmem_exit() can also be called for cleanup
when the process will not exit.

Reported-by: Andrew Gierth <andrew@tao11.riddles.org.uk>
src/backend/storage/ipc/ipc.c

index 53f7c1e77ea9df6db0395646423c856305f37acc..a85a1c6de5dbfe40024fa29c9606516f781edd35 100644 (file)
@@ -272,6 +272,8 @@ shmem_exit(int code)
                on_shmem_exit_list[on_shmem_exit_index].function(code,
                                                                                                                 on_shmem_exit_list[on_shmem_exit_index].arg);
        on_shmem_exit_index = 0;
+
+       shmem_exit_inprogress = false;
 }
 
 /* ----------------------------------------------------------------