From 721996d88906393b5f9fb4191e8c54726fa478fc Mon Sep 17 00:00:00 2001
From: Bruce Momjian <bruce@momjian.us>
Date: Sat, 3 May 2003 05:13:20 +0000
Subject: [PATCH] Cleanup patch for exec() handling.

---
 src/backend/bootstrap/bootstrap.c   | 11 +++++++----
 src/backend/postmaster/postmaster.c |  6 +-----
 src/backend/tcop/postgres.c         |  9 ++++++---
 3 files changed, 14 insertions(+), 12 deletions(-)

diff --git a/src/backend/bootstrap/bootstrap.c b/src/backend/bootstrap/bootstrap.c
index d7db3cd375c..f848de00144 100644
--- a/src/backend/bootstrap/bootstrap.c
+++ b/src/backend/bootstrap/bootstrap.c
@@ -8,7 +8,7 @@
  * Portions Copyright (c) 1994, Regents of the University of California
  *
  * IDENTIFICATION
- *	  $Header: /cvsroot/pgsql/src/backend/bootstrap/bootstrap.c,v 1.151 2003/05/03 03:52:07 momjian Exp $
+ *	  $Header: /cvsroot/pgsql/src/backend/bootstrap/bootstrap.c,v 1.152 2003/05/03 05:13:18 momjian Exp $
  *
  *-------------------------------------------------------------------------
  */
@@ -236,7 +236,7 @@ BootstrapMain(int argc, char *argv[])
 	 *
 	 * If we are running under the postmaster, this is done already.
 	 */
-	if (!IsUnderPostmaster)
+	if (!IsUnderPostmaster || ExecBackend)
 		MemoryContextInit();
 
 	/*
@@ -245,9 +245,12 @@ BootstrapMain(int argc, char *argv[])
 
 	/* Set defaults, to be overriden by explicit options below */
 	dbName = NULL;
-	if (!IsUnderPostmaster)
+	if (!IsUnderPostmaster || ExecBackend)
 	{
 		InitializeGUCOptions();
+#ifdef EXEC_BACKEND
+		read_nondefault_variables();
+#endif
 		potential_DataDir = getenv("PGDATA");	/* Null if no PGDATA
 												 * variable */
 	}
@@ -306,7 +309,7 @@ BootstrapMain(int argc, char *argv[])
 		AttachSharedMemoryAndSemaphores();
 	}
 	
-	if (!IsUnderPostmaster)
+	if (!IsUnderPostmaster || ExecBackend)
 	{
 		if (!potential_DataDir)
 		{
diff --git a/src/backend/postmaster/postmaster.c b/src/backend/postmaster/postmaster.c
index 767af51e917..ea98753bc5c 100644
--- a/src/backend/postmaster/postmaster.c
+++ b/src/backend/postmaster/postmaster.c
@@ -37,7 +37,7 @@
  *
  *
  * IDENTIFICATION
- *	  $Header: /cvsroot/pgsql/src/backend/postmaster/postmaster.c,v 1.320 2003/05/03 03:52:07 momjian Exp $
+ *	  $Header: /cvsroot/pgsql/src/backend/postmaster/postmaster.c,v 1.321 2003/05/03 05:13:18 momjian Exp $
  *
  * NOTES
  *
@@ -2243,10 +2243,6 @@ BackendFinalize(Port *port)
 	/* Reset MyProcPid to new backend's pid */
 	MyProcPid = getpid();
 
-#ifdef EXEC_BACKEND
-	read_nondefault_variables();
-#endif
-
 	/*
 	 * Initialize libpq and enable reporting of elog errors to the client.
 	 * Must do this now because authentication uses libpq to send
diff --git a/src/backend/tcop/postgres.c b/src/backend/tcop/postgres.c
index 76d958b4999..b60898270a6 100644
--- a/src/backend/tcop/postgres.c
+++ b/src/backend/tcop/postgres.c
@@ -8,7 +8,7 @@
  *
  *
  * IDENTIFICATION
- *	  $Header: /cvsroot/pgsql/src/backend/tcop/postgres.c,v 1.330 2003/05/03 03:52:07 momjian Exp $
+ *	  $Header: /cvsroot/pgsql/src/backend/tcop/postgres.c,v 1.331 2003/05/03 05:13:20 momjian Exp $
  *
  * NOTES
  *	  this is the "main" module of the postgres backend and
@@ -1139,9 +1139,12 @@ PostgresMain(int argc, char *argv[], const char *username)
 	Noversion = false;
 	EchoQuery = false;
 
-	if (!IsUnderPostmaster)
+	if (!IsUnderPostmaster || ExecBackend)
 	{
 		InitializeGUCOptions();
+#ifdef EXEC_BACKEND
+		read_nondefault_variables();
+#endif
 		potential_DataDir = getenv("PGDATA");
 	}
 
@@ -1676,7 +1679,7 @@ PostgresMain(int argc, char *argv[], const char *username)
 	if (!IsUnderPostmaster)
 	{
 		puts("\nPOSTGRES backend interactive interface ");
-		puts("$Revision: 1.330 $ $Date: 2003/05/03 03:52:07 $\n");
+		puts("$Revision: 1.331 $ $Date: 2003/05/03 05:13:20 $\n");
 	}
 
 	/*
-- 
GitLab