aboutsummaryrefslogtreecommitdiff
path: root/src/backend/bootstrap/bootstrap.c
diff options
context:
space:
mode:
authorBruce Momjian <bruce@momjian.us>2004-01-06 23:15:22 +0000
committerBruce Momjian <bruce@momjian.us>2004-01-06 23:15:22 +0000
commit488f2785d025a6cc04685cfee4ca3eac0086e2fd (patch)
treeb21e8ead6a04bef7a128d2b2307b2e68efba2ce9 /src/backend/bootstrap/bootstrap.c
parent06288d4e2256ec2f458baa07f337cddd9c915b03 (diff)
downloadpostgresql-488f2785d025a6cc04685cfee4ca3eac0086e2fd.tar.gz
postgresql-488f2785d025a6cc04685cfee4ca3eac0086e2fd.zip
Final rearrangement of main postgresql child process (ie.
BackendFork/SSDataBase/pgstat) startup, to allow fork/exec calls to closely mimic (the soon to be provided) Win32 CreateProcess equivalent calls. Claudio Natoli
Diffstat (limited to 'src/backend/bootstrap/bootstrap.c')
-rw-r--r--src/backend/bootstrap/bootstrap.c24
1 files changed, 16 insertions, 8 deletions
diff --git a/src/backend/bootstrap/bootstrap.c b/src/backend/bootstrap/bootstrap.c
index f42c071195f..b21f4cc8065 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
- * $PostgreSQL: pgsql/src/backend/bootstrap/bootstrap.c,v 1.172 2003/12/25 03:52:50 momjian Exp $
+ * $PostgreSQL: pgsql/src/backend/bootstrap/bootstrap.c,v 1.173 2004/01/06 23:15:22 momjian Exp $
*
*-------------------------------------------------------------------------
*/
@@ -51,7 +51,7 @@
#ifdef EXEC_BACKEND
typedef struct Port Port;
extern void SSDataBaseInit(int);
-extern void read_backend_variables(pid_t, Port*);
+extern void read_backend_variables(unsigned long, Port*);
#endif
extern int Int_yyparse(void);
@@ -231,6 +231,9 @@ BootstrapMain(int argc, char *argv[])
int flag;
int xlogop = BS_XLOG_NOP;
char *potential_DataDir = NULL;
+#ifdef EXEC_BACKEND
+ unsigned long backendID = 0;
+#endif
/*
* initialize globals
@@ -291,10 +294,15 @@ BootstrapMain(int argc, char *argv[])
break;
case 'p':
#ifdef EXEC_BACKEND
- IsUnderPostmaster = true;
+ {
+ char buf[MAXPGPATH];
+ IsUnderPostmaster = true;
+ sscanf(optarg,"%lu,%s",&backendID,buf);
+ dbname = strdup(buf);
+ }
#endif
dbname = strdup(optarg);
- break;
+ break;
case 'B':
SetConfigOption("shared_buffers", optarg, PGC_POSTMASTER, PGC_S_ARGV);
break;
@@ -363,7 +371,7 @@ BootstrapMain(int argc, char *argv[])
{
#ifdef EXEC_BACKEND
read_nondefault_variables();
- read_backend_variables(getpid(),NULL);
+ read_backend_variables(backendID,NULL);
SSDataBaseInit(xlogop);
#endif
@@ -431,11 +439,11 @@ BootstrapMain(int argc, char *argv[])
switch (xlogop)
{
case BS_XLOG_BGWRITER:
- InitDummyProcess(DUMMY_PROC_BGWRITER);
+ InitDummyProcess(DUMMY_PROC_BGWRITER);
break;
-
+
default:
- InitDummyProcess(DUMMY_PROC_DEFAULT);
+ InitDummyProcess(DUMMY_PROC_DEFAULT);
break;
}
}