]> granicus.if.org Git - postgresql/commit
Fix pg_recvlogical not to fsync output when it's a tty or pipe.
authorAndres Freund <andres@anarazel.de>
Tue, 7 Jul 2015 10:47:44 +0000 (12:47 +0200)
committerAndres Freund <andres@anarazel.de>
Tue, 7 Jul 2015 10:54:11 +0000 (12:54 +0200)
commit5c0de384d2ceceb07e77e1368e07868244be6762
tree6d38356f36061fd6a0a63fb7a13bb90641795192
parent02eac01f91923592f93abf8d325ab806b058f948
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.3050901@joh.to

Backpatch to 9.4, where pg_recvlogical was added.
src/bin/pg_basebackup/pg_recvlogical.c