Обсуждение: Re: [COMMITTERS] pgsql: Windows: Make pg_ctl reliably detect service status
Alvaro Herrera wrote: > Windows: Make pg_ctl reliably detect service status > > pg_ctl is using isatty() to verify whether the process is running in a > terminal, and if not it sends its output to Windows' Event Log ... which > does the wrong thing when the output has been redirected to a pipe, as > reported in bug #13592. This broke the mingw port. Looking. -- Álvaro Herrera http://www.2ndQuadrant.com/ PostgreSQL Development, 24x7 Support, Remote DBA, Training & Services
Re: Re: [COMMITTERS] pgsql: Windows: Make pg_ctl reliably detect service status
От
Alvaro Herrera
Дата:
Alvaro Herrera wrote: > Alvaro Herrera wrote: > > Windows: Make pg_ctl reliably detect service status > > > > pg_ctl is using isatty() to verify whether the process is running in a > > terminal, and if not it sends its output to Windows' Event Log ... which > > does the wrong thing when the output has been redirected to a pipe, as > > reported in bug #13592. > > This broke the mingw port. Looking. A bit of grepping appears to say that I ought to patch configure.in to add AC_LIBOBJ(win32security) around line 1580 and rerun autoconf, but this seems completely at odds with the documented use of AC_LIBOBJS. Is this black magic? -- Álvaro Herrera http://www.2ndQuadrant.com/ PostgreSQL Development, 24x7 Support, Remote DBA, Training & Services
Re: Re: [COMMITTERS] pgsql: Windows: Make pg_ctl reliably detect service status
От
Alvaro Herrera
Дата:
Alvaro Herrera wrote:
> Alvaro Herrera wrote:
> > Alvaro Herrera wrote:
> > > Windows: Make pg_ctl reliably detect service status
> > >
> > > pg_ctl is using isatty() to verify whether the process is running in a
> > > terminal, and if not it sends its output to Windows' Event Log ... which
> > > does the wrong thing when the output has been redirected to a pipe, as
> > > reported in bug #13592.
> >
> > This broke the mingw port. Looking.
>
> A bit of grepping appears to say that I ought to patch configure.in to
> add
> AC_LIBOBJ(win32security)
> around line 1580 and rerun autoconf, but this seems completely at odds
> with the documented use of AC_LIBOBJS. Is this black magic?
I confirmed that adding that line makes the new file get compiled. I
also noticed these warnings when compiling it:
In file included from /usr/lib/gcc/x86_64-w64-mingw32/4.9-win32/include/stdarg.h:1:0, from
/pgsql/source/master/src/include/c.h:85, from /pgsql/source/master/src/include/postgres_fe.h:25,
from /pgsql/source/master/src/port/win32security.c:17:
/pgsql/source/master/src/port/win32security.c: In function ‘log_error’:
/pgsql/source/master/src/port/win32security.c:37:11: warning: passing argument 1 of ‘__builtin_va_start’ from
incompatiblepointer type va_start(fmt, ap); ^
/pgsql/source/master/src/port/win32security.c:37:11: note: expected ‘char **’ but argument is of type ‘const char **’
/pgsql/source/master/src/port/win32security.c:37:2: warning: second parameter of ‘va_start’ not last named argument
[-Wvarargs]va_start(fmt, ap); ^
--
Álvaro Herrera http://www.2ndQuadrant.com/
PostgreSQL Development, 24x7 Support, Remote DBA, Training & Services
Alvaro Herrera <alvherre@2ndquadrant.com> writes:
> I confirmed that adding that line makes the new file get compiled. I
> also noticed these warnings when compiling it:
> In file included from /usr/lib/gcc/x86_64-w64-mingw32/4.9-win32/include/stdarg.h:1:0,
> from /pgsql/source/master/src/include/c.h:85,
> from /pgsql/source/master/src/include/postgres_fe.h:25,
> from /pgsql/source/master/src/port/win32security.c:17:
> /pgsql/source/master/src/port/win32security.c: In function ‘log_error’:
> /pgsql/source/master/src/port/win32security.c:37:11: warning: passing argument 1 of ‘__builtin_va_start’ from
incompatiblepointer type
> va_start(fmt, ap);
> ^
I take it this code is quite untested, because what that's whining
about is that the arguments of va_start() are reversed.
regards, tom lane
Re: Re: [COMMITTERS] pgsql: Windows: Make pg_ctl reliably detect service status
От
Alvaro Herrera
Дата:
Tom Lane wrote: > Alvaro Herrera <alvherre@2ndquadrant.com> writes: > > I confirmed that adding that line makes the new file get compiled. I > > also noticed these warnings when compiling it: > > > In file included from /usr/lib/gcc/x86_64-w64-mingw32/4.9-win32/include/stdarg.h:1:0, > > from /pgsql/source/master/src/include/c.h:85, > > from /pgsql/source/master/src/include/postgres_fe.h:25, > > from /pgsql/source/master/src/port/win32security.c:17: > > /pgsql/source/master/src/port/win32security.c: In function ‘log_error’: > > /pgsql/source/master/src/port/win32security.c:37:11: warning: passing argument 1 of ‘__builtin_va_start’ from incompatiblepointer type > > va_start(fmt, ap); > > ^ > > I take it this code is quite untested, because what that's whining > about is that the arguments of va_start() are reversed. It is untested by me, yes. Pushed a fix for this problem. -- Álvaro Herrera http://www.2ndQuadrant.com/ PostgreSQL Development, 24x7 Support, Remote DBA, Training & Services
Re: Re: [COMMITTERS] pgsql: Windows: Make pg_ctl reliably detect service status
От
Michael Paquier
Дата:
On Fri, Jan 8, 2016 at 8:38 AM, Alvaro Herrera <alvherre@2ndquadrant.com> wrote: > Tom Lane wrote: >> Alvaro Herrera <alvherre@2ndquadrant.com> writes: >> > I confirmed that adding that line makes the new file get compiled. I >> > also noticed these warnings when compiling it: >> >> > In file included from /usr/lib/gcc/x86_64-w64-mingw32/4.9-win32/include/stdarg.h:1:0, >> > from /pgsql/source/master/src/include/c.h:85, >> > from /pgsql/source/master/src/include/postgres_fe.h:25, >> > from /pgsql/source/master/src/port/win32security.c:17: >> > /pgsql/source/master/src/port/win32security.c: In function ‘log_error’: >> > /pgsql/source/master/src/port/win32security.c:37:11: warning: passing argument 1 of ‘__builtin_va_start’ from incompatiblepointer type >> > va_start(fmt, ap); >> > ^ >> >> I take it this code is quite untested, because what that's whining >> about is that the arguments of va_start() are reversed. > > It is untested by me, yes. Pushed a fix for this problem. Arg, thanks! My MS 2010 compiler did not complain about that. That's a bit depressing... -- Michael