aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-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