diff options
author | Michael Paquier <michael@paquier.xyz> | 2024-07-11 09:21:40 +0900 |
---|---|---|
committer | Michael Paquier <michael@paquier.xyz> | 2024-07-11 09:21:40 +0900 |
commit | 21471f18e9d9aa3383314ed8bc9163bc369109ae (patch) | |
tree | ba62b94e3c4a735dbb3b1924381f73bb024fa0d5 /src/backend/utils/activity/pgstat_checkpointer.c | |
parent | cc2236854e2bb4f2120927c390c63cc2aad77762 (diff) |
Add PgStat_KindInfo.init_shmem_cb
This new callback gives fixed-numbered stats the possibility to take
actions based on the area of shared memory allocated for them.
This removes from pgstat_shmem.c any knowledge specific to the types
of fixed-numbered stats, and the initializations happen in their own
files. Like b68b29bc8fec, this change is useful to make this area of
the code more pluggable, so as custom fixed-numbered stats can take
actions after their shared memory area is initialized.
Reviewed-by: Bertrand Drouvot
Discussion: https://postgr.es/m/Zot5bxoPYdS7yaoy@paquier.xyz
Diffstat (limited to 'src/backend/utils/activity/pgstat_checkpointer.c')
-rw-r--r-- | src/backend/utils/activity/pgstat_checkpointer.c | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/src/backend/utils/activity/pgstat_checkpointer.c b/src/backend/utils/activity/pgstat_checkpointer.c index 30a8110e381..bbfc9c7e183 100644 --- a/src/backend/utils/activity/pgstat_checkpointer.c +++ b/src/backend/utils/activity/pgstat_checkpointer.c @@ -85,6 +85,14 @@ pgstat_fetch_stat_checkpointer(void) } void +pgstat_checkpointer_init_shmem_cb(void *stats) +{ + PgStatShared_Checkpointer *stats_shmem = (PgStatShared_Checkpointer *) stats; + + LWLockInitialize(&stats_shmem->lock, LWTRANCHE_PGSTATS_DATA); +} + +void pgstat_checkpointer_reset_all_cb(TimestampTz ts) { PgStatShared_Checkpointer *stats_shmem = &pgStatLocal.shmem->checkpointer; |