Thread: pgsql: Fix WakeupWaiters() to not wake up an exclusive locker unnecessa

pgsql: Fix WakeupWaiters() to not wake up an exclusive locker unnecessa

From
Heikki Linnakangas
Date:
Fix WakeupWaiters() to not wake up an exclusive locker unnecessarily.

WakeupWaiters() is supposed to wake up all LW_WAIT_UNTIL_FREE waiters of
the slot, but the loop incorrectly also woke up the first LW_EXCLUSIVE
waiter, if there was no LW_WAIT_UNTIL_FREE waiters in the queue.

Noted by Andres Freund. This code is new in 9.4, so no backpatching.

Branch
------
master

Details
-------
http://git.postgresql.org/pg/commitdiff/d699ba41349e4ef397222a7223606fa03f4c4870

Modified Files
--------------
src/backend/access/transam/xlog.c |    9 +++++----
1 file changed, 5 insertions(+), 4 deletions(-)