mirror of
https://github.com/postgres/postgres.git
synced 2025-11-06 07:49:08 +03:00
8.4 pgindent run, with new combined Linux/FreeBSD/MinGW typedef list
provided by Andrew.
This commit is contained in:
@@ -8,7 +8,7 @@
|
||||
*
|
||||
*
|
||||
* IDENTIFICATION
|
||||
* $PostgreSQL: pgsql/src/backend/storage/lmgr/lock.c,v 1.187 2009/03/23 01:52:38 tgl Exp $
|
||||
* $PostgreSQL: pgsql/src/backend/storage/lmgr/lock.c,v 1.188 2009/06/11 14:49:02 momjian Exp $
|
||||
*
|
||||
* NOTES
|
||||
* A lock table is a shared memory hash table. When
|
||||
@@ -1112,7 +1112,7 @@ WaitOnLock(LOCALLOCK *locallock, ResourceOwner owner)
|
||||
{
|
||||
LOCKMETHODID lockmethodid = LOCALLOCK_LOCKMETHOD(*locallock);
|
||||
LockMethod lockMethodTable = LockMethods[lockmethodid];
|
||||
char * volatile new_status = NULL;
|
||||
char *volatile new_status = NULL;
|
||||
|
||||
LOCK_PRINT("WaitOnLock: sleeping on lock",
|
||||
locallock->lock, locallock->tag.mode);
|
||||
@@ -1145,20 +1145,20 @@ WaitOnLock(LOCALLOCK *locallock, ResourceOwner owner)
|
||||
* the locktable state must fully reflect the fact that we own the lock;
|
||||
* we can't do additional work on return.
|
||||
*
|
||||
* We can and do use a PG_TRY block to try to clean up after failure,
|
||||
* but this still has a major limitation: elog(FATAL) can occur while
|
||||
* waiting (eg, a "die" interrupt), and then control won't come back here.
|
||||
* So all cleanup of essential state should happen in LockWaitCancel,
|
||||
* not here. We can use PG_TRY to clear the "waiting" status flags,
|
||||
* since doing that is unimportant if the process exits.
|
||||
* We can and do use a PG_TRY block to try to clean up after failure, but
|
||||
* this still has a major limitation: elog(FATAL) can occur while waiting
|
||||
* (eg, a "die" interrupt), and then control won't come back here. So all
|
||||
* cleanup of essential state should happen in LockWaitCancel, not here.
|
||||
* We can use PG_TRY to clear the "waiting" status flags, since doing that
|
||||
* is unimportant if the process exits.
|
||||
*/
|
||||
PG_TRY();
|
||||
{
|
||||
if (ProcSleep(locallock, lockMethodTable) != STATUS_OK)
|
||||
{
|
||||
/*
|
||||
* We failed as a result of a deadlock, see CheckDeadLock().
|
||||
* Quit now.
|
||||
* We failed as a result of a deadlock, see CheckDeadLock(). Quit
|
||||
* now.
|
||||
*/
|
||||
awaitedLock = NULL;
|
||||
LOCK_PRINT("WaitOnLock: aborting on lock",
|
||||
|
||||
Reference in New Issue
Block a user