Use macros instead of hardcoded offsets for LWLock initialization
authorMichael Paquier <michael@paquier.xyz>
Tue, 24 Nov 2020 03:39:58 +0000 (12:39 +0900)
committerMichael Paquier <michael@paquier.xyz>
Tue, 24 Nov 2020 03:39:58 +0000 (12:39 +0900)
This makes the code slightly easier to follow, as the initialization
relies on an offset that overlapped with an equivalent set of macros
defined, which are used in other places already.

Author: Japin Li
Discussion: https://postgr.es/m/MEYP282MB1669FB410006758402F2C3A2B6E00@MEYP282MB1669.AUSP282.PROD.OUTLOOK.COM

src/backend/storage/lmgr/lwlock.c

index 2fa90cc0954d9e58f311c18d0e7e402ec900f16e..108e6521796a3090caa547fba205094b386517d4 100644 (file)
@@ -525,18 +525,17 @@ InitializeLWLocks(void)
        LWLockInitialize(&lock->lock, id);
 
    /* Initialize buffer mapping LWLocks in main array */
-   lock = MainLWLockArray + NUM_INDIVIDUAL_LWLOCKS;
+   lock = MainLWLockArray + BUFFER_MAPPING_LWLOCK_OFFSET;
    for (id = 0; id < NUM_BUFFER_PARTITIONS; id++, lock++)
        LWLockInitialize(&lock->lock, LWTRANCHE_BUFFER_MAPPING);
 
    /* Initialize lmgrs' LWLocks in main array */
-   lock = MainLWLockArray + NUM_INDIVIDUAL_LWLOCKS + NUM_BUFFER_PARTITIONS;
+   lock = MainLWLockArray + LOCK_MANAGER_LWLOCK_OFFSET;
    for (id = 0; id < NUM_LOCK_PARTITIONS; id++, lock++)
        LWLockInitialize(&lock->lock, LWTRANCHE_LOCK_MANAGER);
 
    /* Initialize predicate lmgrs' LWLocks in main array */
-   lock = MainLWLockArray + NUM_INDIVIDUAL_LWLOCKS +
-       NUM_BUFFER_PARTITIONS + NUM_LOCK_PARTITIONS;
+   lock = MainLWLockArray + PREDICATELOCK_MANAGER_LWLOCK_OFFSET;
    for (id = 0; id < NUM_PREDICATELOCK_PARTITIONS; id++, lock++)
        LWLockInitialize(&lock->lock, LWTRANCHE_PREDICATE_LOCK_MANAGER);