aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorHeikki Linnakangas <heikki.linnakangas@iki.fi>2023-12-01 01:00:03 +0200
committerHeikki Linnakangas <heikki.linnakangas@iki.fi>2023-12-01 01:00:03 +0200
commitf93133a250c62d4dcda4298296fca759a8779621 (patch)
tree20dd5c73550d8ac3f059ab2549531dd22fa42745
parentae2ccf66a261caac9701986597e3f29188f890d6 (diff)
downloadpostgresql-f93133a250c62d4dcda4298296fca759a8779621.tar.gz
postgresql-f93133a250c62d4dcda4298296fca759a8779621.zip
Print lwlock stats also for aux processes, when built with LWLOCK_STATS
InitAuxiliaryProcess() closely resembles InitProcess(), but it didn't call InitLWLockAccess(). But because InitLWLockAccess() is a no-op unless compiled with LWLOCK_STATS, and everything works even if it's not called, the only consequence was that the stats were not printed for aux processes. This was an oversight in commit 1c6821be31f, in version 9.5, so it is missing in all supported branches. But since it only affects developers using LWLOCK_STATS and no one has complained, no backpatching. Discussion: https://www.postgresql.org/message-id/20231130202648.7k6agmuizdilufnv@awork3.anarazel.de
-rw-r--r--src/backend/storage/lmgr/proc.c7
1 files changed, 7 insertions, 0 deletions
diff --git a/src/backend/storage/lmgr/proc.c b/src/backend/storage/lmgr/proc.c
index e9e445bb216..01f7019b10c 100644
--- a/src/backend/storage/lmgr/proc.c
+++ b/src/backend/storage/lmgr/proc.c
@@ -614,6 +614,13 @@ InitAuxiliaryProcess(void)
* Arrange to clean up at process exit.
*/
on_shmem_exit(AuxiliaryProcKill, Int32GetDatum(proctype));
+
+ /*
+ * Now that we have a PGPROC, we could try to acquire lightweight locks.
+ * Initialize local state needed for them. (Heavyweight locks cannot be
+ * acquired in aux processes.)
+ */
+ InitLWLockAccess();
}
/*