diff options
Diffstat (limited to 'src/backend/storage/ipc/procarray.c')
-rw-r--r-- | src/backend/storage/ipc/procarray.c | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/src/backend/storage/ipc/procarray.c b/src/backend/storage/ipc/procarray.c index bd0c96124e3..6ded0f0f126 100644 --- a/src/backend/storage/ipc/procarray.c +++ b/src/backend/storage/ipc/procarray.c @@ -106,6 +106,9 @@ static TransactionId *KnownAssignedXids; static bool *KnownAssignedXidsValid; static TransactionId latestObservedXid = InvalidTransactionId; +/* LWLock tranche for backend locks */ +static LWLockTranche ProcLWLockTranche; + /* * If we're in STANDBY_SNAPSHOT_PENDING state, standbySnapshotPendingXmin is * the highest xid that might still be running that we don't have in @@ -261,6 +264,13 @@ CreateSharedProcArray(void) mul_size(sizeof(bool), TOTAL_MAX_CACHED_SUBXIDS), &found); } + + /* Register and initialize fields of ProcLWLockTranche */ + ProcLWLockTranche.name = "proc"; + ProcLWLockTranche.array_base = (char *) (ProcGlobal->allProcs) + + offsetof(PGPROC, backendLock); + ProcLWLockTranche.array_stride = sizeof(PGPROC); + LWLockRegisterTranche(LWTRANCHE_PROC, &ProcLWLockTranche); } /* |