aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAlvaro Herrera <alvherre@alvh.no-ip.org>2016-01-08 13:18:40 -0300
committerAlvaro Herrera <alvherre@alvh.no-ip.org>2016-01-08 13:18:40 -0300
commit463172116634423f8708ad9d7afb0f759a40cf2c (patch)
tree3db653d5a8f1885409d02b6f139b7566a70a4969
parente9282e953205a2f3125fc8d1052bc01cb77cd2a3 (diff)
downloadpostgresql-463172116634423f8708ad9d7afb0f759a40cf2c.tar.gz
postgresql-463172116634423f8708ad9d7afb0f759a40cf2c.zip
Revert "Blind attempt at a Cygwin fix"
This reverts commit e9282e953205a2f3125fc8d1052bc01cb77cd2a3, which blew up in a pretty spectacular way. Re-introduce the original code while we search for a real fix.
-rwxr-xr-xconfigure6
-rw-r--r--configure.in1
-rw-r--r--src/bin/pg_ctl/pg_ctl.c9
3 files changed, 9 insertions, 7 deletions
diff --git a/configure b/configure
index ab213a12c1a..3dd1b152c6c 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 41402dfaa49..93984822e47 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 28d3cf2a8f9..919d7645979 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