summaryrefslogtreecommitdiff
path: root/src/backend/utils/activity/pgstat_checkpointer.c
diff options
context:
space:
mode:
authorMichael Paquier <michael@paquier.xyz>2024-07-11 09:21:40 +0900
committerMichael Paquier <michael@paquier.xyz>2024-07-11 09:21:40 +0900
commit21471f18e9d9aa3383314ed8bc9163bc369109ae (patch)
treeba62b94e3c4a735dbb3b1924381f73bb024fa0d5 /src/backend/utils/activity/pgstat_checkpointer.c
parentcc2236854e2bb4f2120927c390c63cc2aad77762 (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.c8
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;