Fix WaitOnLock() to ensure that the process's "waiting" flag is reset after

Tom Lane <tgl@sss.pgh.pa.us>

Commit: ed5858dff87b15e157398228d57b422bc705b220
Author: Tom Lane <tgl@sss.pgh.pa.us>
Date: 2008-02-02T22:26:23Z
Releases: 8.2.7
Fix WaitOnLock() to ensure that the process's "waiting" flag is reset after
erroring out of a wait.  We can use a PG_TRY block for this, but add a comment
explaining why it'd be a bad idea to use it for any other state cleanup.

Back-patch to 8.2.  Prior releases had the same issue, but only with respect
to the process title, which is likely to get reset almost immediately anyway
after the transaction aborts, so it seems not worth changing them.  In 8.2
and HEAD, the pg_stat_activity "waiting" flag could remain set incorrectly
for a long time.

Per report from Gurjeet Singh.

Files

PathChange+/−
src/backend/storage/lmgr/lock.c modified +47 −22