From 542b7c644534ee3e555573de77cde8a79a9e9a0e Mon Sep 17 00:00:00 2001
From: Tom Lane <tgl@sss.pgh.pa.us>
Date: Sun, 7 Jan 2001 04:30:41 +0000
Subject: [PATCH] Clear QueryCancel and ProcDiePending at start of proc_exit,
 to ensure that leftover cancel/die requests cannot interfere with exit
 activities.

---
 src/backend/storage/ipc/ipc.c | 10 +++++++++-
 1 file changed, 9 insertions(+), 1 deletion(-)

diff --git a/src/backend/storage/ipc/ipc.c b/src/backend/storage/ipc/ipc.c
index b111e65cb06..d592a179867 100644
--- a/src/backend/storage/ipc/ipc.c
+++ b/src/backend/storage/ipc/ipc.c
@@ -8,7 +8,7 @@
  *
  *
  * IDENTIFICATION
- *	  $Header: /cvsroot/pgsql/src/backend/storage/ipc/ipc.c,v 1.58 2000/12/30 01:20:55 tgl Exp $
+ *	  $Header: /cvsroot/pgsql/src/backend/storage/ipc/ipc.c,v 1.59 2001/01/07 04:30:41 tgl Exp $
  *
  * NOTES
  *
@@ -126,6 +126,14 @@ proc_exit(int code)
 	 */
 	proc_exit_inprogress = true;
 
+	/*
+	 * Forget any pending cancel or die requests; we're doing our best
+	 * to close up shop already.  Note that the signal handlers will not
+	 * set these flags again, now that proc_exit_inprogress is set.
+	 */
+	QueryCancel = false;
+	ProcDiePending = false;
+
 	if (DebugLvl > 1)
 		elog(DEBUG, "proc_exit(%d)", code);
 
-- 
GitLab