Re: Calling PGReserveSemaphores() from CreateOrAttachShmemStructs

Thomas Munro <thomas.munro@gmail.com>

From: Thomas Munro <thomas.munro@gmail.com>
To: Ashutosh Bapat <ashutosh.bapat.oss@gmail.com>
Cc: pgsql-hackers <pgsql-hackers@postgresql.org>, Dmitry Dolgov <9erthalion6@gmail.com>
Date: 2025-08-25T09:40:53Z
Lists: pgsql-hackers
On Mon, Aug 25, 2025 at 9:10 PM Ashutosh Bapat
<ashutosh.bapat.oss@gmail.com> wrote:
> Is this change correct? Was there any reason to leave it like that in
> e25626677f8076eb3ce94586136c5464ee154381? Or was it just something
> that didn't fit in that commit?

We/I just missed that opportunity when ripping that stuff out.  It
sounds like we might need a comment-only patch to back-patch to 18
that would say something like "this is done here for historical
reasons" so as not to confuse people with obsolete nonsense, and a
follow up patch for master to do things in a more straightforward way
as you said.

> If the change looks safe and useful, I will create CF entry for it so
> that the patch gets tested on all platforms, and thus with different
> definitions of PGReserveSemaphores().

+1, will review, thanks!



Commits

  1. Refactor shared memory allocation for semaphores

  2. Add comment to explain why PGReserveSemaphores() is called early

  3. Remove --disable-spinlocks.