From a5606579fc16d778a9331ecb95da45ae7c25654d Mon Sep 17 00:00:00 2001
From: Tom Lane <tgl@sss.pgh.pa.us>
Date: Wed, 21 Jun 2006 19:40:31 +0000
Subject: [PATCH] Move setup_cancel_handler() up near start of psql main(),
 where the setup_win32_locks() call formerly was, to ensure that
 cancelConnLock is valid when it needs to be.  Per Yoshiyuki Asaba.

---
 src/bin/psql/startup.c | 12 ++++++------
 1 file changed, 6 insertions(+), 6 deletions(-)

diff --git a/src/bin/psql/startup.c b/src/bin/psql/startup.c
index 72bc63e4a7c..90d9db374fe 100644
--- a/src/bin/psql/startup.c
+++ b/src/bin/psql/startup.c
@@ -3,7 +3,7 @@
  *
  * Copyright (c) 2000-2006, PostgreSQL Global Development Group
  *
- * $PostgreSQL: pgsql/src/bin/psql/startup.c,v 1.133 2006/06/14 16:49:02 tgl Exp $
+ * $PostgreSQL: pgsql/src/bin/psql/startup.c,v 1.134 2006/06/21 19:40:31 tgl Exp $
  */
 #include "postgres_fe.h"
 
@@ -130,11 +130,14 @@ main(int argc, char *argv[])
 		}
 	}
 
-	pset.progname = get_progname(argv[0]);
-
 #ifdef WIN32
 	setvbuf(stderr, NULL, _IONBF, 0);
 #endif
+
+	setup_cancel_handler();
+
+	pset.progname = get_progname(argv[0]);
+
 	setDecimalLocale();
 	pset.cur_cmd_source = stdin;
 	pset.cur_cmd_interactive = false;
@@ -370,9 +373,6 @@ main(int argc, char *argv[])
 		if (options.action_string)		/* -f - was used */
 			pset.inputfile = "<stdin>";
 
-		/* establish control-C handling for interactive operation */
-		setup_cancel_handler();
-
 		successResult = MainLoop(stdin);
 	}
 
-- 
GitLab