postgres.git / summary / log / commit / refs

commit    38587d7d286faeec83bdbb89ff34eeee5eabb23e
Author:   Heikki Linnakangas <heikki.linnakangas@iki.fi>
Date:     Tue Mar 04 13:30:52 2014 +0000
First released in: 9.4.0, 9.3.4

    Error out on send failure in walsender loop.
    
    I changed the loop in 9.3 to use "goto send_failure" instead of "break" on
    errors, but I missed this one case. It was a relatively harmless bug: if
    the flush fails once it will most likely fail again as soon as we try to
    flush the output again. But it's a bug nevertheless.
    
    Report and fix by Andres Freund.


src/backend/replication/walsender.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/backend/replication/walsender.c b/src/backend/replication/walsender.c index cdd9c6a5334..a0338da0d46 100644 --- a/src/backend/replication/walsender.c +++ b/src/backend/replication/walsender.c @@ -1100,7 +1100,7 @@ WalSndLoop(void) ping_sent = true; /* Try to flush pending output to the client */ if (pq_flush_if_writable() != 0) - break; + goto send_failure; } } [parent: f5f21315d25f]