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);