From 21d8e36f51f1c95596845979c44740d39df74eee Mon Sep 17 00:00:00 2001 From: Fujii Masao Date: Mon, 30 Mar 2026 08:48:05 +0900 Subject: [PATCH v2] Remove redundant SetLatch() calls in interrupt handling functions Interrupt handling functions (e.g., HandleCatchupInterrupt(), HandleParallelApplyMessageInterrupt()) are called only by procsignal_sigusr1_handler(), which already calls SetLatch() for the current process at the end of its processing. Therefore, these interrupt handling functions do not need to call SetLatch() themselves. However, previously, some of these functions redundantly called SetLatch(). This commit removes those unnecessary calls. While duplicate SetLatch() calls are redundant, they are harmless, so this change is not backpatched. Author: Bharath Rupireddy Reviewed-by: Bertrand Drouvot Reviewed-by: Fujii Masao Discussion: https://postgr.es/m/CALj2ACWd5apddj6Cd885WwJ6LquYu_G81C4GoR4xSoDV1x-FEA@mail.gmail.com --- src/backend/access/transam/parallel.c | 2 +- src/backend/commands/async.c | 3 +-- src/backend/replication/logical/applyparallelworker.c | 2 +- src/backend/replication/walsender.c | 2 ++ src/backend/storage/ipc/sinval.c | 3 +-- 5 files changed, 6 insertions(+), 6 deletions(-) diff --git a/src/backend/access/transam/parallel.c b/src/backend/access/transam/parallel.c index ab1dfb30e73..89e9d224eec 100644 --- a/src/backend/access/transam/parallel.c +++ b/src/backend/access/transam/parallel.c @@ -1047,7 +1047,7 @@ HandleParallelMessageInterrupt(void) { InterruptPending = true; ParallelMessagePending = true; - SetLatch(MyLatch); + /* latch will be set by procsignal_sigusr1_handler */ } /* diff --git a/src/backend/commands/async.c b/src/backend/commands/async.c index 5c9a56c3d40..e91a62ff42a 100644 --- a/src/backend/commands/async.c +++ b/src/backend/commands/async.c @@ -2560,8 +2560,7 @@ HandleNotifyInterrupt(void) /* signal that work needs to be done */ notifyInterruptPending = true; - /* make sure the event is processed in due course */ - SetLatch(MyLatch); + /* latch will be set by procsignal_sigusr1_handler */ } /* diff --git a/src/backend/replication/logical/applyparallelworker.c b/src/backend/replication/logical/applyparallelworker.c index d78693ffa8e..798e8d85b3e 100644 --- a/src/backend/replication/logical/applyparallelworker.c +++ b/src/backend/replication/logical/applyparallelworker.c @@ -1000,7 +1000,7 @@ HandleParallelApplyMessageInterrupt(void) { InterruptPending = true; ParallelApplyMessagePending = true; - SetLatch(MyLatch); + /* latch will be set by procsignal_sigusr1_handler */ } /* diff --git a/src/backend/replication/walsender.c b/src/backend/replication/walsender.c index 66507e9c2dd..2bb3f34dc6d 100644 --- a/src/backend/replication/walsender.c +++ b/src/backend/replication/walsender.c @@ -3730,6 +3730,8 @@ HandleWalSndInitStopping(void) kill(MyProcPid, SIGTERM); else got_STOPPING = true; + + /* latch will be set by procsignal_sigusr1_handler */ } /* diff --git a/src/backend/storage/ipc/sinval.c b/src/backend/storage/ipc/sinval.c index 5559f7c1cfa..1540c7e0696 100644 --- a/src/backend/storage/ipc/sinval.c +++ b/src/backend/storage/ipc/sinval.c @@ -160,8 +160,7 @@ HandleCatchupInterrupt(void) catchupInterruptPending = true; - /* make sure the event is processed in due course */ - SetLatch(MyLatch); + /* latch will be set by procsignal_sigusr1_handler */ } /* -- 2.51.2