On Tue, Jan 23, 2024 at 1:23 PM Kyotaro Horiguchi <horikyota....@gmail.com> wrote: > > At Mon, 22 Jan 2024 13:29:10 -0800, Andres Freund <and...@anarazel.de> wrote > in > > Hi, > > > > On 2024-01-19 12:28:05 +0900, Michael Paquier wrote: > > > On Thu, Jan 18, 2024 at 03:42:28PM +0200, Heikki Linnakangas wrote: > > > > Given that commit 728f86fec6 that introduced this issue was not strictly > > > > required, perhaps we should just revert it for v16. > > > > > > Is there a point in keeping 728f86fec6 as well on HEAD? That does not > > > strike me as wise to keep that in the tree for now. If it needs to be > > > reworked, looking at this problem from scratch would be a safer > > > approach. > > > > IDK, I think we'll introduce this type of bug over and over if we don't fix > > it > > properly. > > Just to clarify my position, I thought that 728f86fec6 was heading the > right direction. Considering the current approach to signal handling > in walreceiver, I believed that it would be better to further > generalize in this direction rather than reverting. That's why I > proposed that patch.
Regarding the patch, here are the review comments. +/* + * Is current process a wal receiver? + */ +bool +IsWalReceiver(void) +{ + return WalRcv != NULL; +} This looks wrong because WalRcv can be non-NULL in processes other than walreceiver. - pqsignal(SIGTERM, SignalHandlerForShutdownRequest); /* request shutdown */ + pqsignal(SIGTERM, WalRcvShutdownSignalHandler); /* request shutdown */ Can't we just use die(), instead? Regards, -- Fujii Masao