Use macros for calculating LWLock offset
От | japin |
---|---|
Тема | Use macros for calculating LWLock offset |
Дата | |
Msg-id | MEYP282MB1669FB410006758402F2C3A2B6E00@MEYP282MB1669.AUSP282.PROD.OUTLOOK.COM обсуждение исходный текст |
Ответы |
Re: Use macros for calculating LWLock offset
|
Список | pgsql-hackers |
Hi, In the lwlock.c, InitializeLWLocks() calculate the LWLock offset by itself (c319991bcad), however, there are macros defined in lwlock.h, I think, we can use the macros. diff --git a/src/backend/storage/lmgr/lwlock.c b/src/backend/storage/lmgr/lwlock.c index 2fa90cc095..108e652179 100644 --- a/src/backend/storage/lmgr/lwlock.c +++ b/src/backend/storage/lmgr/lwlock.c @@ -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); -- Best regards Japin Li
Вложения
В списке pgsql-hackers по дате отправления: