Thread: pgsql: Fix bug where walsender goes into a busy loop if connection is t

pgsql: Fix bug where walsender goes into a busy loop if connection is t

From
Heikki Linnakangas
Date:
Fix bug where walsender goes into a busy loop if connection is terminated.

The problem was that ResetLatch was not being called in the walsender loop
if the connection was terminated, so WaitLatch never sleeps until the
terminated connection is detected. In the master-branch, this was already
fixed as a side-effect of some refactoring of the loop. This commit
backports that refactoring to 9.1. 9.0 does not have this bug, because we
didn't use latches back then.

Fujii Masao

Branch
------
REL9_1_STABLE

Details
-------
http://git.postgresql.org/pg/commitdiff/04e9dc6e01dd8acb1b477c1649172dfbda822581

Modified Files
--------------
src/backend/replication/walsender.c |  110 +++++++++++++++++++----------------
1 files changed, 60 insertions(+), 50 deletions(-)