]> granicus.if.org Git - postgresql/commit
Fix bootstrap.c so that database startup process and bgwriter properly release
authorTom Lane <tgl@sss.pgh.pa.us>
Thu, 8 Jun 2006 23:55:48 +0000 (23:55 +0000)
committerTom Lane <tgl@sss.pgh.pa.us>
Thu, 8 Jun 2006 23:55:48 +0000 (23:55 +0000)
commit1358466a8c918f14f48ea60d60db96ae7eba5045
tree28e6e889c53f65063228c1f5736ca91415901549
parente4725e35be7b36ae3c21c6f5d94bb3fb4afede67
Fix bootstrap.c so that database startup process and bgwriter properly release
LWLocks during a panic exit.  This avoids the possible self-deadlock pointed
out by Qingqing Zhou.  Also, I noted that an error during LoadFreeSpaceMap()
or BuildFlatFiles() would result in exit(0) which would leave the postmaster
thinking all is well.  Added a critical section to ensure such errors don't
allow startup to proceed.

Backpatched to 8.1.  The 8.0 code is a bit different and I'm not sure if the
problem exists there; given we've not seen this reported from the field, I'm
going to be conservative about backpatching any further.
src/backend/bootstrap/bootstrap.c