Tighten up error recovery for fast-path locking.

Robert Haas <rhaas@postgresql.org>

Commit: 53c5b869b464d567c3b8f617201b49a395f437ab
Author: Robert Haas <rhaas@postgresql.org>
Date: 2012-04-18T15:17:30Z
Releases: 9.2.0
Tighten up error recovery for fast-path locking.

The previous code could cause a backend crash after BEGIN; SAVEPOINT a;
LOCK TABLE foo (interrupted by ^C or statement timeout); ROLLBACK TO
SAVEPOINT a; LOCK TABLE foo, and might have leaked strong-lock counts
in other situations.

Report by Zoltán Böszörményi; patch review by Jeff Davis.

Files