summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNeil Conway2005-04-08 00:55:07 +0000
committerNeil Conway2005-04-08 00:55:07 +0000
commitf53cd94a786cf3240040098adeb9d9a9fe30e5b4 (patch)
treeb6cc407c77bc76cc907c7949fa94761dd5300c58
parent26f831a95058d928c83453a37456a0fa32d10cae (diff)
Use fork_process() to avoid some fork()-related boilerplate code when
forking the stats collector child process.
-rw-r--r--src/backend/postmaster/pgstat.c22
1 files changed, 3 insertions, 19 deletions
diff --git a/src/backend/postmaster/pgstat.c b/src/backend/postmaster/pgstat.c
index bd97a07cde7..08042ea6cf5 100644
--- a/src/backend/postmaster/pgstat.c
+++ b/src/backend/postmaster/pgstat.c
@@ -13,7 +13,7 @@
*
* Copyright (c) 2001-2005, PostgreSQL Global Development Group
*
- * $PostgreSQL: pgsql/src/backend/postmaster/pgstat.c,v 1.89 2005/03/31 23:20:49 tgl Exp $
+ * $PostgreSQL: pgsql/src/backend/postmaster/pgstat.c,v 1.90 2005/04/08 00:55:07 neilc Exp $
* ----------
*/
#include "postgres.h"
@@ -40,6 +40,7 @@
#include "libpq/pqsignal.h"
#include "mb/pg_wchar.h"
#include "miscadmin.h"
+#include "postmaster/fork_process.h"
#include "postmaster/postmaster.h"
#include "storage/backendid.h"
#include "storage/fd.h"
@@ -576,26 +577,13 @@ pgstat_start(void)
/*
* Okay, fork off the collector.
*/
-
- fflush(stdout);
- fflush(stderr);
-
-#ifdef __BEOS__
- /* Specific beos actions before backend startup */
- beos_before_backend_startup();
-#endif
-
#ifdef EXEC_BACKEND
switch ((pgStatPid = pgstat_forkexec(STAT_PROC_BUFFER)))
#else
- switch ((pgStatPid = fork()))
+ switch ((pgStatPid = fork_process()))
#endif
{
case -1:
-#ifdef __BEOS__
- /* Specific beos actions */
- beos_backend_startup_failed();
-#endif
ereport(LOG,
(errmsg("could not fork statistics buffer: %m")));
return 0;
@@ -603,10 +591,6 @@ pgstat_start(void)
#ifndef EXEC_BACKEND
case 0:
/* in postmaster child ... */
-#ifdef __BEOS__
- /* Specific beos actions after backend startup */
- beos_backend_startup();
-#endif
/* Close the postmaster's sockets */
ClosePostmasterPorts(false);