From 78493b716802cbe632d36c85f0d7c3bdb708e045 Mon Sep 17 00:00:00 2001 From: Fujii Masao Date: Thu, 24 Jul 2014 15:25:26 +0900 Subject: [PATCH] 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 --- src/bin/pg_basebackup/receivelog.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/bin/pg_basebackup/receivelog.c b/src/bin/pg_basebackup/receivelog.c index 32afc8d0df..44b9fcc711 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;