From 81ae9e65887476b4c55aaad276a8010a459a41ce Mon Sep 17 00:00:00 2001 From: Andres Freund Date: Wed, 6 Apr 2022 23:35:56 -0700 Subject: [PATCH] pgstat: prevent fix pgstat_reinit_entry() from zeroing out lwlock. Zeroing out an lwlock in a normal build turns out to not trigger any alarms, if nobody can use the lwlock at that moment (as the case here). But with --disable-spinlocks --disable-atomics, the sema field needs to be initialized. We probably should make sure that this fails on more common configurations as well... Per buildfarm animal rorqual --- src/backend/utils/activity/pgstat_shmem.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/backend/utils/activity/pgstat_shmem.c b/src/backend/utils/activity/pgstat_shmem.c index a32740b2f6..b270c504ea 100644 --- a/src/backend/utils/activity/pgstat_shmem.c +++ b/src/backend/utils/activity/pgstat_shmem.c @@ -292,8 +292,8 @@ pgstat_reinit_entry(PgStat_Kind kind, PgStatShared_HashEntry *shhashent) /* reinitialize content */ Assert(shheader->magic == 0xdeadbeef); - memset(shheader, 0, pgstat_get_kind_info(shhashent->key.kind)->shared_size); - shheader->magic = 0xdeadbeef; + memset(pgstat_get_entry_data(kind, shheader), 0, + pgstat_get_entry_len(kind)); return shheader; }