diff options
Diffstat (limited to 'src/backend/postmaster/postmaster.c')
-rw-r--r-- | src/backend/postmaster/postmaster.c | 14 |
1 files changed, 8 insertions, 6 deletions
diff --git a/src/backend/postmaster/postmaster.c b/src/backend/postmaster/postmaster.c index 511f9bc0ee6..c3036630bc5 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.234 2001/08/04 00:14:43 tgl Exp $ + * $Header: /cvsroot/pgsql/src/backend/postmaster/postmaster.c,v 1.235 2001/08/05 02:06:50 tgl Exp $ * * NOTES * @@ -227,7 +227,6 @@ extern int optreset; static void pmdaemonize(int argc, char *argv[]); static Port *ConnCreate(int serverFd); static void ConnFree(Port *port); -static void ClosePostmasterPorts(void); static void reset_shared(unsigned short port); static void SIGHUP_handler(SIGNAL_ARGS); static void pmdie(SIGNAL_ARGS); @@ -1241,8 +1240,8 @@ ConnFree(Port *conn) * that are not needed by that child process. The postmaster still has * them open, of course. */ -static void -ClosePostmasterPorts(void) +void +ClosePostmasterPorts(bool pgstat_too) { /* Close the listen sockets */ if (NetServer) @@ -1252,6 +1251,9 @@ ClosePostmasterPorts(void) StreamClose(ServerSock_UNIX); ServerSock_UNIX = INVALID_SOCK; #endif + /* Close pgstat control sockets, unless we're starting pgstat itself */ + if (pgstat_too) + pgstat_close_sockets(); } @@ -1900,7 +1902,7 @@ DoBackend(Port *port) */ /* Close the postmaster's other sockets */ - ClosePostmasterPorts(); + ClosePostmasterPorts(true); /* Save port etc. for ps status */ MyProcPort = port; @@ -2224,7 +2226,7 @@ SSDataBase(int xlop) on_exit_reset(); /* Close the postmaster's sockets */ - ClosePostmasterPorts(); + ClosePostmasterPorts(true); /* Set up command-line arguments for subprocess */ av[ac++] = "postgres"; |