Re: pg_ctl strangeness under msys - Mailing list pgsql-hackers-win32

From Andrew Dunstan
Subject Re: pg_ctl strangeness under msys
Date
Msg-id 417E6E96.80806@dunslane.net
Whole thread Raw
In response to Re: pg_ctl strangeness under msys  (Bruce Momjian <pgman@candle.pha.pa.us>)
Responses Re: pg_ctl strangeness under msys  (Bruce Momjian <pgman@candle.pha.pa.us>)
List pgsql-hackers-win32

Bruce Momjian wrote:

>Bruce Momjian wrote:
>
>
>>Magnus Hagander wrote:
>>
>>
>>>>I have seen some strange things using pg_ctl under MSys:
>>>>
>>>>. "pg_ctl status" from the command line logs to the event log.
>>>>Apparently it thinks it's not on a tty. Works fine from
>>>>Windows cmd prompt.
>>>>. this hangs: perl -e '@foo=`pg_ctl -w start`;'
>>>>  but this doesn't: perl -e 'system("pg_ctl -w start");'
>>>>
>>>>Finding the problem with the last one has cost me hours in
>>>>trying to get the buildfarm to run.
>>>>
>>>>Anyone have ideas about ways to fix? Or do we just note it
>>>>and live with it?
>>>>
>>>>
>>>As I'm sure you are already aware we've had a lot of problems with the
>>>msys console. Buffernig and others. I think we at some point decided to
>>>say that minor issues on the win32 consoles isn't really something we're
>>>concerned about, people will run things from the cmd console in 99.9% of
>>>all cases.
>>>
>>>Not sure how to fix it. The eventlog checking code uses isatty() IIRC,
>>>and that one is clearly returning the wrong thing on msys. Not sure how
>>>to code around that.
>>>
>>>
>>We actually added the ability to turn the psql pager always on to fix a
>>problem with a Win32 user running psql inside some kind of application
>>(emacs?) where isatty returned the wrong value.  I don't see any clean
>>workaround here though.
>>
>>
>
>Have you tried:
>
>    pg_ctl start 2>/dev/tty
>
>that would force stderr to go to the tty.  This might help because the
>pg_ctl.c test is:
>
>        if (!isatty(fileno(stderr)))    /* Running as a service */
>
>
>

This was about status, not start.

  pg_ctl status 2>/dev/tty

gives me the same thing as before. But only if the postmaster isn't
running - if it is running I get the status as expected, because then we
write to stdout rather than calling write_stderr() - I'm not sure I
understand why we do that.

cheers

andrew

pgsql-hackers-win32 by date:

Previous
From: "Magnus Hagander"
Date:
Subject: Re: Win32 open items
Next
From: Bruce Momjian
Date:
Subject: Re: pg_ctl strangeness under msys