diff options
Diffstat (limited to 'src/backend/storage/lmgr/deadlock.c')
-rw-r--r-- | src/backend/storage/lmgr/deadlock.c | 14 |
1 files changed, 7 insertions, 7 deletions
diff --git a/src/backend/storage/lmgr/deadlock.c b/src/backend/storage/lmgr/deadlock.c index edfdbcbee74..c68602bf867 100644 --- a/src/backend/storage/lmgr/deadlock.c +++ b/src/backend/storage/lmgr/deadlock.c @@ -12,7 +12,7 @@ * * * IDENTIFICATION - * $PostgreSQL: pgsql/src/backend/storage/lmgr/deadlock.c,v 1.29 2004/07/21 22:31:22 tgl Exp $ + * $PostgreSQL: pgsql/src/backend/storage/lmgr/deadlock.c,v 1.30 2004/08/27 17:07:41 tgl Exp $ * * Interface: * @@ -427,7 +427,7 @@ FindLockCycleRecurse(PGPROC *checkProc, PGPROC *proc; LOCK *lock; PROCLOCK *proclock; - SHM_QUEUE *lockHolders; + SHM_QUEUE *procLocks; LockMethod lockMethodTable; PROC_QUEUE *waitQueue; int queue_size; @@ -483,9 +483,9 @@ FindLockCycleRecurse(PGPROC *checkProc, * Scan for procs that already hold conflicting locks. These are * "hard" edges in the waits-for graph. */ - lockHolders = &(lock->lockHolders); + procLocks = &(lock->procLocks); - proclock = (PROCLOCK *) SHMQueueNext(lockHolders, lockHolders, + proclock = (PROCLOCK *) SHMQueueNext(procLocks, procLocks, offsetof(PROCLOCK, lockLink)); while (proclock) @@ -497,8 +497,8 @@ FindLockCycleRecurse(PGPROC *checkProc, { for (lm = 1; lm <= numLockModes; lm++) { - if (proclock->holding[lm] > 0 && - ((1 << lm) & conflictMask) != 0) + if ((proclock->holdMask & LOCKBIT_ON(lm)) && + (conflictMask & LOCKBIT_ON(lm))) { /* This proc hard-blocks checkProc */ if (FindLockCycleRecurse(proc, depth + 1, @@ -519,7 +519,7 @@ FindLockCycleRecurse(PGPROC *checkProc, } } - proclock = (PROCLOCK *) SHMQueueNext(lockHolders, &proclock->lockLink, + proclock = (PROCLOCK *) SHMQueueNext(procLocks, &proclock->lockLink, offsetof(PROCLOCK, lockLink)); } |