aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorPeter Eisentraut <peter@eisentraut.org>2019-12-29 09:09:20 +0100
committerPeter Eisentraut <peter@eisentraut.org>2020-01-11 07:48:57 +0100
commitc096a804d9dcc46f1a8ebf2742696aca90b2dfcf (patch)
treefc639fa430b492f76b3623d3b91e4938063a5db1 /src
parent38fc056074e034087af8a1589507631682a279d1 (diff)
downloadpostgresql-c096a804d9dcc46f1a8ebf2742696aca90b2dfcf.tar.gz
postgresql-c096a804d9dcc46f1a8ebf2742696aca90b2dfcf.zip
Remove STATUS_FOUND
Replace the solitary use with a bool. Reviewed-by: Michael Paquier <michael@paquier.xyz> Discussion: https://www.postgresql.org/message-id/flat/a6f91ead-0ce4-2a34-062b-7ab9813ea308%402ndquadrant.com
Diffstat (limited to 'src')
-rw-r--r--src/backend/storage/lmgr/lock.c24
-rw-r--r--src/backend/storage/lmgr/proc.c12
-rw-r--r--src/include/c.h1
-rw-r--r--src/include/storage/lock.h2
4 files changed, 16 insertions, 23 deletions
diff --git a/src/backend/storage/lmgr/lock.c b/src/backend/storage/lmgr/lock.c
index 207c5e32f40..56dba09299d 100644
--- a/src/backend/storage/lmgr/lock.c
+++ b/src/backend/storage/lmgr/lock.c
@@ -746,7 +746,7 @@ LockAcquireExtended(const LOCKTAG *locktag,
ResourceOwner owner;
uint32 hashcode;
LWLock *partitionLock;
- int status;
+ bool found_conflict;
bool log_lock = false;
if (lockmethodid <= 0 || lockmethodid >= lengthof(LockMethods))
@@ -979,12 +979,12 @@ LockAcquireExtended(const LOCKTAG *locktag,
* (That's last because most complex check.)
*/
if (lockMethodTable->conflictTab[lockmode] & lock->waitMask)
- status = STATUS_FOUND;
+ found_conflict = true;
else
- status = LockCheckConflicts(lockMethodTable, lockmode,
+ found_conflict = LockCheckConflicts(lockMethodTable, lockmode,
lock, proclock);
- if (status == STATUS_OK)
+ if (!found_conflict)
{
/* No conflict with held or previously requested locks */
GrantLock(lock, proclock, lockmode);
@@ -992,8 +992,6 @@ LockAcquireExtended(const LOCKTAG *locktag,
}
else
{
- Assert(status == STATUS_FOUND);
-
/*
* We can't acquire the lock immediately. If caller specified no
* blocking, remove useless table entries and return
@@ -1330,7 +1328,7 @@ RemoveLocalLock(LOCALLOCK *locallock)
* LockCheckConflicts -- test whether requested lock conflicts
* with those already granted
*
- * Returns STATUS_FOUND if conflict, STATUS_OK if no conflict.
+ * Returns true if conflict, false if no conflict.
*
* NOTES:
* Here's what makes this complicated: one process's locks don't
@@ -1340,7 +1338,7 @@ RemoveLocalLock(LOCALLOCK *locallock)
* the same group. So, we must subtract off these locks when determining
* whether the requested new lock conflicts with those already held.
*/
-int
+bool
LockCheckConflicts(LockMethod lockMethodTable,
LOCKMODE lockmode,
LOCK *lock,
@@ -1367,7 +1365,7 @@ LockCheckConflicts(LockMethod lockMethodTable,
if (!(conflictMask & lock->grantMask))
{
PROCLOCK_PRINT("LockCheckConflicts: no conflict", proclock);
- return STATUS_OK;
+ return false;
}
/*
@@ -1393,7 +1391,7 @@ LockCheckConflicts(LockMethod lockMethodTable,
if (totalConflictsRemaining == 0)
{
PROCLOCK_PRINT("LockCheckConflicts: resolved (simple)", proclock);
- return STATUS_OK;
+ return false;
}
/* If no group locking, it's definitely a conflict. */
@@ -1402,7 +1400,7 @@ LockCheckConflicts(LockMethod lockMethodTable,
Assert(proclock->tag.myProc == MyProc);
PROCLOCK_PRINT("LockCheckConflicts: conflicting (simple)",
proclock);
- return STATUS_FOUND;
+ return true;
}
/*
@@ -1439,7 +1437,7 @@ LockCheckConflicts(LockMethod lockMethodTable,
{
PROCLOCK_PRINT("LockCheckConflicts: resolved (group)",
proclock);
- return STATUS_OK;
+ return false;
}
}
otherproclock = (PROCLOCK *)
@@ -1449,7 +1447,7 @@ LockCheckConflicts(LockMethod lockMethodTable,
/* Nope, it's a real conflict. */
PROCLOCK_PRINT("LockCheckConflicts: conflicting (group)", proclock);
- return STATUS_FOUND;
+ return true;
}
/*
diff --git a/src/backend/storage/lmgr/proc.c b/src/backend/storage/lmgr/proc.c
index 99e5221e492..32df8c85a10 100644
--- a/src/backend/storage/lmgr/proc.c
+++ b/src/backend/storage/lmgr/proc.c
@@ -1149,10 +1149,8 @@ ProcSleep(LOCALLOCK *locallock, LockMethod lockMethodTable)
}
/* I must go before this waiter. Check special case. */
if ((lockMethodTable->conflictTab[lockmode] & aheadRequests) == 0 &&
- LockCheckConflicts(lockMethodTable,
- lockmode,
- lock,
- proclock) == STATUS_OK)
+ !LockCheckConflicts(lockMethodTable, lockmode, lock,
+ proclock))
{
/* Skip the wait and just grant myself the lock. */
GrantLock(lock, proclock, lockmode);
@@ -1648,10 +1646,8 @@ ProcLockWakeup(LockMethod lockMethodTable, LOCK *lock)
* (b) doesn't conflict with already-held locks.
*/
if ((lockMethodTable->conflictTab[lockmode] & aheadRequests) == 0 &&
- LockCheckConflicts(lockMethodTable,
- lockmode,
- lock,
- proc->waitProcLock) == STATUS_OK)
+ !LockCheckConflicts(lockMethodTable, lockmode, lock,
+ proc->waitProcLock))
{
/* OK to waken */
GrantLock(lock, proc->waitProcLock, lockmode);
diff --git a/src/include/c.h b/src/include/c.h
index 73115f4b4eb..6898229b43e 100644
--- a/src/include/c.h
+++ b/src/include/c.h
@@ -1120,7 +1120,6 @@ typedef union PGAlignedXLogBlock
#define STATUS_OK (0)
#define STATUS_ERROR (-1)
#define STATUS_EOF (-2)
-#define STATUS_FOUND (1)
#define STATUS_WAITING (2)
/*
diff --git a/src/include/storage/lock.h b/src/include/storage/lock.h
index 0c8293391a5..bb8e4e6e5b7 100644
--- a/src/include/storage/lock.h
+++ b/src/include/storage/lock.h
@@ -550,7 +550,7 @@ extern VirtualTransactionId *GetLockConflicts(const LOCKTAG *locktag,
LOCKMODE lockmode, int *countp);
extern void AtPrepare_Locks(void);
extern void PostPrepare_Locks(TransactionId xid);
-extern int LockCheckConflicts(LockMethod lockMethodTable,
+extern bool LockCheckConflicts(LockMethod lockMethodTable,
LOCKMODE lockmode,
LOCK *lock, PROCLOCK *proclock);
extern void GrantLock(LOCK *lock, PROCLOCK *proclock, LOCKMODE lockmode);