Alvaro Herrera wrote:
> Tom Lane wrote:
> > Alvaro Herrera <alvhe...@alvh.no-ip.org> writes:
> > > Blind attempt at a Cygwin fix
> > 
> > According to
> > http://buildfarm.postgresql.org/cgi-bin/show_log.pl?nm=brolga&dt=2016-01-08%2014%3A51%3A27
> > 
> > brolga now tries to compile win32security.c, which it evidently was not
> > doing before, but the compile blows up; looks like it is missing #include
> > calls (which must exist in other places where this code lives ...)
> 
> Obviously this wasn't the best idea ever.  Andrew suggests on IM to
> revert this on Cygwin to just do the "isatty" check as originally.

Here's a proposed patch.  Thoughts?

-- 
Álvaro Herrera                http://www.2ndQuadrant.com/
PostgreSQL Development, 24x7 Support, Remote DBA, Training & Services
>From af7989c37cb8a1d647e6ce7d01857491b42b01b5 Mon Sep 17 00:00:00 2001
From: Alvaro Herrera <alvhe...@alvh.no-ip.org>
Date: Fri, 8 Jan 2016 12:36:18 -0300
Subject: [PATCH] Revert "Blind attempt at a Cygwin fix"

This reverts commit e9282e953205a2f3125fc8d1052bc01cb77cd2a3, which blew
up in a pretty spectacular way.  Introduce the original code while we
search for a real fix.
---
 configure               | 6 ------
 configure.in            | 1 -
 src/bin/pg_ctl/pg_ctl.c | 9 +++++++++
 3 files changed, 9 insertions(+), 7 deletions(-)

diff --git a/configure b/configure
index ab213a1..3dd1b15 100755
--- a/configure
+++ b/configure
@@ -13075,12 +13075,6 @@ if test "$PORTNAME" = "cygwin"; then
  ;;
 esac
 
-  case " $LIBOBJS " in
-  *" win32security.$ac_objext "* ) ;;
-  *) LIBOBJS="$LIBOBJS win32security.$ac_objext"
- ;;
-esac
-
 fi
 
 ac_fn_c_check_decl "$LINENO" "sys_siglist" "ac_cv_have_decl_sys_siglist" "#include <signal.h>
diff --git a/configure.in b/configure.in
index 41402df..9398482 100644
--- a/configure.in
+++ b/configure.in
@@ -1596,7 +1596,6 @@ fi
 # Cygwin needs only a bit of that
 if test "$PORTNAME" = "cygwin"; then
   AC_LIBOBJ(dirmod)
-  AC_LIBOBJ(win32security)
 fi
 
 AC_CHECK_DECLS([sys_siglist], [], [],
diff --git a/src/bin/pg_ctl/pg_ctl.c b/src/bin/pg_ctl/pg_ctl.c
index 28d3cf2..919d764 100644
--- a/src/bin/pg_ctl/pg_ctl.c
+++ b/src/bin/pg_ctl/pg_ctl.c
@@ -212,6 +212,15 @@ write_stderr(const char *fmt,...)
 	vfprintf(stderr, fmt, ap);
 #else
 
+/*
+ * On Cygwin, we don't yet have a reliable mechanism to detect when
+ * we're being run as a service, so fall back to the old (and broken)
+ * stderr test.
+ */
+#ifdef __CYGWIN__
+#define	pgwin32_is_service()	(isatty(fileno(stderr)))
+#endif
+
 	/*
 	 * On Win32, we print to stderr if running on a console, or write to
 	 * eventlog if running as a service
-- 
2.1.4

-- 
Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-hackers

Reply via email to