Fix re-initialization of LWLock-related shared memory.
authorNathan Bossart <nathan@postgresql.org>
Thu, 18 Sep 2025 14:55:39 +0000 (09:55 -0500)
committerNathan Bossart <nathan@postgresql.org>
Thu, 18 Sep 2025 14:55:39 +0000 (09:55 -0500)
commitc3cc2ab87d72a1ce17a7f574756158479ef32f20
treeacf6230c4e927fff1f4ba3ce662f650dc2239439
parent2e66cae935c2e0f7ce9bab6b65ddeb7806f4de7c
Fix re-initialization of LWLock-related shared memory.

When shared memory is re-initialized after a crash, the named
LWLock tranche request array that was copied to shared memory will
no longer be accessible.  To fix, save the pointer to the original
array in postmaster's local memory, and switch to it when
re-initializing the LWLock-related shared memory.

Oversight in commit ed1aad15e0.  Per buildfarm member batta.

Reported-by: Michael Paquier <michael@paquier.xyz>
Reported-by: Alexander Lakhin <exclusion@gmail.com>
Reviewed-by: Michael Paquier <michael@paquier.xyz>
Discussion: https://postgr.es/m/aMoejB3iTWy1SxfF%40paquier.xyz
Discussion: https://postgr.es/m/f8ca018f-3479-49f6-a92c-e31db9f849d7%40gmail.com
src/backend/storage/lmgr/lwlock.c