Fix bug where walsender goes into a busy loop if connection is terminated.
authorHeikki Linnakangas <heikki.linnakangas@iki.fi>
Wed, 21 Mar 2012 15:43:53 +0000 (17:43 +0200)
committerHeikki Linnakangas <heikki.linnakangas@iki.fi>
Wed, 21 Mar 2012 15:43:53 +0000 (17:43 +0200)
commit04e9dc6e01dd8acb1b477c1649172dfbda822581
tree0c9e6142ed1ff01bd3fc6e70cbf0425fa387b81c
parent52b03fbdfed752ff10620d44eb808b09baf29add
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
src/backend/replication/walsender.c