mirror of
https://github.com/postgres/postgres.git
synced 2025-11-18 02:02:55 +03:00
Make FP_LOCK_SLOTS_PER_BACKEND look like a function
The FP_LOCK_SLOTS_PER_BACKEND macro looks like a constant, but it depends on the max_locks_per_transaction GUC, and thus can change. This is non-obvious and confusing, so make it look more like a function by renaming it to FastPathLockSlotsPerBackend(). While at it, use the macro when initializing fast-path shared memory, instead of using the formula. Reported-by: Andres Freund Discussion: https://postgr.es/m/ffiwtzc6vedo6wb4gbwelon5nefqg675t5c7an2ta7pcz646cg%40qwmkdb3l4ett
This commit is contained in:
@@ -587,7 +587,7 @@ InitializeFastPathLocks(void)
|
||||
while (FastPathLockGroupsPerBackend < FP_LOCK_GROUPS_PER_BACKEND_MAX)
|
||||
{
|
||||
/* stop once we exceed max_locks_per_xact */
|
||||
if (FastPathLockGroupsPerBackend * FP_LOCK_SLOTS_PER_GROUP >= max_locks_per_xact)
|
||||
if (FastPathLockSlotsPerBackend() >= max_locks_per_xact)
|
||||
break;
|
||||
|
||||
FastPathLockGroupsPerBackend *= 2;
|
||||
|
||||
Reference in New Issue
Block a user