From: Fujii Masao Date: Thu, 24 Jul 2014 06:25:26 +0000 (+0900) Subject: Fix bug where pg_receivexlog goes into busy loop if -s option is set to 0. X-Git-Tag: REL9_5_ALPHA1~1686 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=78493b716802cbe632d36c85f0d7c3bdb708e045;p=thirdparty%2Fpostgresql.git Fix bug where pg_receivexlog goes into busy loop if -s option is set to 0. The problem is that pg_receivexlog calls select(2) with timeout=0 and goes into busy loop when --status-interval option is set to 0. This bug was introduced by the commit, 74cbe966fe2d76de1d607d933c98c144dab58769. Per report from Sawada Masahiko --- diff --git a/src/bin/pg_basebackup/receivelog.c b/src/bin/pg_basebackup/receivelog.c index 32afc8d0dfb..44b9fcc7117 100644 --- a/src/bin/pg_basebackup/receivelog.c +++ b/src/bin/pg_basebackup/receivelog.c @@ -1094,7 +1094,7 @@ CopyStreamReceive(PGconn *conn, long timeout, char **buffer) * No data available. Wait for some to appear, but not longer than * the specified timeout, so that we can ping the server. */ - if (timeout > 0) + if (timeout != 0) { int ret;