Re: Little cleanup: Move ProcStructLock to the ProcGlobal struct
Tom Lane <tgl@sss.pgh.pa.us>
From: Tom Lane <tgl@sss.pgh.pa.us>
To: Ashutosh Bapat <ashutosh.bapat.oss@gmail.com>
Cc: Chao Li <li.evan.chao@gmail.com>, Heikki Linnakangas <hlinnaka@iki.fi>,
"pgsql-hackers@postgresql.org" <pgsql-hackers@postgresql.org>
Date: 2026-02-11T14:52:56Z
Lists: pgsql-hackers
Ashutosh Bapat <ashutosh.bapat.oss@gmail.com> writes: > On Wed, Feb 11, 2026 at 8:46 AM Chao Li <li.evan.chao@gmail.com> wrote: >> But I don’t see a replacement like SpinLockInit(&ProcGlobal->freeProcsLock); > Good catch. Undoubtedly, this escaped Heikki's notice because on all supported platforms SpinLockInit() initializes the spinlock value to zero, but shared memory starts out zeroes anyway. We used to have better odds of catching such mistakes. My old HPPA dinosaur would have caught it by dint of needing a nonzero initial value, but that hardware is long gone. The test infrastructure we used to have for emulating spinlocks with SysV semaphores would have caught it too, I think, but that's also gone. This is not a great situation. I wonder if we can put back some mode that could be used by a few BF members to catch such oversights. regards, tom lane
Commits
-
Move ProcStructLock to the ProcGlobal struct
- 7984ce7a1d21 19 (unreleased) landed