From f7d67812410678c8f547c1f2038817f4426f0516 Mon Sep 17 00:00:00 2001
From: Zhao Junwang <zhjwpku@gmail.com>
Date: Fri, 29 Dec 2023 18:41:24 +0800
Subject: [PATCH v21 4/4] fix reschedule timeout for each commmand

Signed-off-by: Zhao Junwang <zhjwpku@gmail.com>
---
 src/backend/access/transam/xact.c | 4 ++++
 src/backend/tcop/postgres.c       | 4 ----
 2 files changed, 4 insertions(+), 4 deletions(-)

diff --git a/src/backend/access/transam/xact.c b/src/backend/access/transam/xact.c
index 8442c5e6a7..2d9b718762 100644
--- a/src/backend/access/transam/xact.c
+++ b/src/backend/access/transam/xact.c
@@ -2139,6 +2139,10 @@ StartTransaction(void)
 	 */
 	s->state = TRANS_INPROGRESS;
 
+	/* Schedule transaction timeout */
+	if (TransactionTimeout > 0)
+		enable_timeout_after(TRANSACTION_TIMEOUT, TransactionTimeout);
+
 	ShowTransactionState("StartTransaction");
 }
 
diff --git a/src/backend/tcop/postgres.c b/src/backend/tcop/postgres.c
index 96161eb7ab..36b9e3f8c5 100644
--- a/src/backend/tcop/postgres.c
+++ b/src/backend/tcop/postgres.c
@@ -2745,10 +2745,6 @@ start_xact_command(void)
 	{
 		StartTransactionCommand();
 
-		/* Schedule or reschedule transaction timeout */
-		if (TransactionTimeout > 0)
-			enable_timeout_after(TRANSACTION_TIMEOUT, TransactionTimeout);
-
 		xact_started = true;
 	}
 
-- 
2.37.1 (Apple Git-137.1)

