Remove STATUS_FOUND
authorPeter Eisentraut <peter@eisentraut.org>
Sun, 29 Dec 2019 08:09:20 +0000 (09:09 +0100)
committerPeter Eisentraut <peter@eisentraut.org>
Sat, 11 Jan 2020 06:48:57 +0000 (07:48 +0100)
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

src/backend/storage/lmgr/lock.c
src/backend/storage/lmgr/proc.c
src/include/c.h
src/include/storage/lock.h

index 207c5e32f4086217747262a682d0d18f98e0adcf..56dba09299d560b2c4ce639a553b2cf3ebc9a771 100644 (file)
@@ -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;
 }
 
 /*
index 99e5221e492558bc6d412abc51bab061b12ae4ab..32df8c85a10598b2b8ca1035da92932ebedefbf2 100644 (file)
@@ -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);
index 73115f4b4eb0eebbf972a504c7e29f003ae89d00..6898229b43e81beae2791fb4bcd32dba47bcebf1 100644 (file)
@@ -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)
 
 /*
index 0c8293391a5af919c6a8d422818c829f4fab8c10..bb8e4e6e5b7b2569de3d1dc33ce33265fdd20e8e 100644 (file)
@@ -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);