Re: BUG #10330: pg_ctl does not correctly honor "DETACHED_PROCESS" - Mailing list pgsql-bugs

From Bruce Momjian
Subject Re: BUG #10330: pg_ctl does not correctly honor "DETACHED_PROCESS"
Date
Msg-id 20140906151726.GE20146@momjian.us
Whole thread Raw
In response to Re: BUG #10330: pg_ctl does not correctly honor "DETACHED_PROCESS"  (Thomas Hruska <thruska@cubiclesoft.com>)
List pgsql-bugs
On Thu, May 15, 2014 at 09:42:27PM -0700, Thomas Hruska wrote:
> On 5/15/2014 9:26 PM, Thomas Hruska wrote:
> >Somewhere around line 4227 is this code:
> >
> >     if (!CreateProcess(NULL, cmdLine, NULL, NULL, TRUE,
> >CREATE_SUSPENDED, NULL, NULL, &si, &pi))
> >
> >
> >Adding DETACHED_PROCESS should fix the problem of the OS spawning a
> >bunch of console windows when 'postgres.exe' is called directly without
> >an attached console:
> >
> >
> >     if (!CreateProcess(NULL, cmdLine, NULL, NULL, TRUE,
> >CREATE_SUSPENDED | DETACHED_PROCESS, NULL, NULL, &si, &pi))
>
> Minor correction.  Detect the lack of a console, THEN add DETACHED_PROCESS:
>
>     if (!CreateProcess(NULL, cmdLine, NULL, NULL, TRUE,
> CREATE_SUSPENDED | (GetConsoleWindow() == NULL ? DETACHED_PROCESS :
> 0), NULL, NULL, &si, &pi))
>
> That should allow standard input/output handles to function as
> expected when there is a console.

Thomas, would you like to create a complete patch for this that we could
review?

--
  Bruce Momjian  <bruce@momjian.us>        http://momjian.us
  EnterpriseDB                             http://enterprisedb.com

  + Everyone has their own god. +

pgsql-bugs by date:

Previous
From: Bruce Momjian
Date:
Subject: Re: Re: BUG #10329: Could not read block 0 in file "base/56100265/57047884": read only 0 of 8192 bytes
Next
From: Tom Lane
Date:
Subject: Re: BUG #11335: an invalid prepare statement causes crash at log_statement = 'mod' or 'ddl'.