]> granicus.if.org Git - postgresql/commit
In initdb, ensure stdout/stderr buffering behavior is what we expect.
authorTom Lane <tgl@sss.pgh.pa.us>
Thu, 15 May 2014 01:13:54 +0000 (21:13 -0400)
committerTom Lane <tgl@sss.pgh.pa.us>
Thu, 15 May 2014 01:14:25 +0000 (21:14 -0400)
commit2dc4f011fd61501cce507be78c39a2677690d44b
tree11579670d7ad544b0097153d151fab70e5e13e4b
parent2e6602dfc25d1f8e8a2e1df48c96440b02aa19c1
In initdb, ensure stdout/stderr buffering behavior is what we expect.

Since this program may print to either stdout or stderr, the relative
ordering of its messages depends on the buffering behavior of those files.
Force stdout to be line-buffered and stderr to be unbuffered, ensuring
that the behavior will match standard Unix interactive behavior, even
when stdout and stderr are rerouted to a file.

Per complaint from Tomas Vondra.  The particular case he pointed out is
new in HEAD, but issues of the same sort could arise in any branch with
other error messages, so back-patch to all branches.

I'm unsure whether we might not want to do this in other client programs
as well.  For the moment, just fix initdb.
src/bin/initdb/initdb.c