mirror of
https://github.com/postgres/postgres.git
synced 2025-06-29 10:41:53 +03:00
Collect built-in LWLock tranche names statically, not dynamically.
There is little point in using the LWLockRegisterTranche mechanism for built-in tranche names. It wastes cycles, it creates opportunities for bugs (since failing to register a tranche name is a very hard-to-detect problem), and the lack of any centralized list of names encourages sloppy nonconformity in name choices. Moreover, since we have a centralized list of the tranches anyway in enum BuiltinTrancheIds, we're certainly not buying any flexibility in return for these disadvantages. Hence, nuke all the backend-internal LWLockRegisterTranche calls, and instead provide a const array of the builtin tranche names. (I have in mind to change a bunch of these names shortly, but this patch is just about getting them into one place.) Discussion: https://postgr.es/m/9056.1589419765@sss.pgh.pa.us
This commit is contained in:
@ -5116,10 +5116,8 @@ XLOGShmemInit(void)
|
||||
/* both should be present or neither */
|
||||
Assert(foundCFile && foundXLog);
|
||||
|
||||
/* Initialize local copy of WALInsertLocks and register the tranche */
|
||||
/* Initialize local copy of WALInsertLocks */
|
||||
WALInsertLocks = XLogCtl->Insert.WALInsertLocks;
|
||||
LWLockRegisterTranche(LWTRANCHE_WAL_INSERT,
|
||||
"wal_insert");
|
||||
|
||||
if (localControlFile)
|
||||
pfree(localControlFile);
|
||||
@ -5155,7 +5153,6 @@ XLOGShmemInit(void)
|
||||
(WALInsertLockPadded *) allocptr;
|
||||
allocptr += sizeof(WALInsertLockPadded) * NUM_XLOGINSERT_LOCKS;
|
||||
|
||||
LWLockRegisterTranche(LWTRANCHE_WAL_INSERT, "wal_insert");
|
||||
for (i = 0; i < NUM_XLOGINSERT_LOCKS; i++)
|
||||
{
|
||||
LWLockInitialize(&WALInsertLocks[i].l.lock, LWTRANCHE_WAL_INSERT);
|
||||
|
Reference in New Issue
Block a user