From 79fcde48b229534fd4a5e07834e5e0e84dd38bee Mon Sep 17 00:00:00 2001
From: Tom Lane <tgl@sss.pgh.pa.us>
Date: Sun, 29 Nov 1998 01:51:56 +0000
Subject: [PATCH] Portability fix for old SunOS releases: fflush(NULL) doesn't
 work there.  Fortunately the postmaster only has stdout and stderr to flush.

---
 src/backend/postmaster/postmaster.c | 12 ++++++++----
 1 file changed, 8 insertions(+), 4 deletions(-)

diff --git a/src/backend/postmaster/postmaster.c b/src/backend/postmaster/postmaster.c
index 07e5060f309..8c35f6eeb6c 100644
--- a/src/backend/postmaster/postmaster.c
+++ b/src/backend/postmaster/postmaster.c
@@ -10,7 +10,7 @@
  *
  *
  * IDENTIFICATION
- *	  $Header: /cvsroot/pgsql/src/backend/postmaster/postmaster.c,v 1.97 1998/09/01 04:31:21 momjian Exp $
+ *	  $Header: /cvsroot/pgsql/src/backend/postmaster/postmaster.c,v 1.98 1998/11/29 01:51:56 tgl Exp $
  *
  * NOTES
  *
@@ -1289,10 +1289,14 @@ BackendStartup(Port *port)
 	}
 
 	/*
-	 * Flush all stdio channels just before fork, to avoid double-output
-	 * problems.
+	 * Flush stdio channels just before fork, to avoid double-output problems.
+	 * Ideally we'd use fflush(NULL) here, but there are still a few non-ANSI
+	 * stdio libraries out there (like SunOS 4.1.x) that coredump if we do.
+	 * Presently stdout and stderr are the only stdio output channels used
+	 * by the postmaster, so fflush'ing them should be sufficient.
 	 */
-	fflush(NULL);
+	fflush(stdout);
+	fflush(stderr);
 
 	if ((pid = fork()) == 0)
 	{							/* child */
-- 
GitLab