pgsql: Fix pg_recvlogical not to fsync output when it's a tty or pipe.

From: Andres Freund <andres(at)anarazel(dot)de>
To: pgsql-committers(at)postgresql(dot)org
Subject: pgsql: Fix pg_recvlogical not to fsync output when it's a tty or pipe.
Date: 2015-07-07 11:14:55
Message-ID: E1ZCQpz-0006N1-1w@gemulon.postgresql.org
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-committers

Fix pg_recvlogical not to fsync output when it's a tty or pipe.

The previous coding tried to handle possible failures when fsyncing a
tty or pipe fd by accepting EINVAL - but apparently some
platforms (windows, OSX) don't reliably return that. So instead check
whether the output fd refers to a pipe or a tty when opening it.

Reported-By: Olivier Gosseaume, Marko Tiikkaja
Discussion: 559AF98B(dot)3050901(at)joh(dot)to

Backpatch to 9.4, where pg_recvlogical was added.

Branch
------
REL9_5_STABLE

Details
-------
http://git.postgresql.org/pg/commitdiff/8022b0a35f7c4e71908a878c8c412b5c2ae8536c

Modified Files
--------------
src/bin/pg_basebackup/pg_recvlogical.c | 17 +++++++++++++++--
1 file changed, 15 insertions(+), 2 deletions(-)

Browse pgsql-committers by date

  From Date Subject
Next Message Andres Freund 2015-07-07 11:14:57 pgsql: Fix pg_recvlogical not to fsync output when it's a tty or pipe.
Previous Message Andres Freund 2015-07-07 11:14:52 pgsql: Fix pg_recvlogical not to fsync output when it's a tty or pipe.