Re: Calling PGReserveSemaphores() from CreateOrAttachShmemStructs

From: Heikki Linnakangas <hlinnaka(at)iki(dot)fi>
To: Ashutosh Bapat <ashutosh(dot)bapat(dot)oss(at)gmail(dot)com>, Thomas Munro <thomas(dot)munro(at)gmail(dot)com>
Cc: pgsql-hackers <pgsql-hackers(at)postgresql(dot)org>, Dmitry Dolgov <9erthalion6(at)gmail(dot)com>
Subject: Re: Calling PGReserveSemaphores() from CreateOrAttachShmemStructs
Date: 2025-11-06 12:46:33
Message-ID: a36a3950-8140-4eb6-abb9-6488db43277e@iki.fi
Views: Whole Thread | Raw Message | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

On 31/10/2025 19:11, Heikki Linnakangas wrote:
> On 26/08/2025 10:11, Ashutosh Bapat wrote:
>> On Mon, Aug 25, 2025 at 3:11 PM Thomas Munro <thomas(dot)munro(at)gmail(dot)com>
>> wrote:
>>>
>>> On Mon, Aug 25, 2025 at 9:10 PM Ashutosh Bapat
>>> <ashutosh(dot)bapat(dot)oss(at)gmail(dot)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.
>>
>> Thanks for the confirmation.
>>
>> Attached patchset has two patches
>> 0001 - backpatchable, adds the comment.
>> 0002 - actual code changes for master. The changes are described in
>> the commit message in detail. I think ProcGlobalSemas() too, can be
>> converted into a macro or can be declared static inline, but I haven't
>> done so. I think it eliminates all the asymmetric handling of
>> semaphores.
>>
>>>
>>>> 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!
>>
>> Added a CF entry so that CI tests the changes on many platforms.
>> https://commitfest.postgresql.org/patch/5997/
>
> Looks good to me. I can commit this, but since Thomas said he'd review
> it, I'll give him a few days for that if he finds the time.

Committed with minor changes: I made the comments a little less
detailed, updated the comment above CalculateShmemSize() now that it
doesn't have the 'num_semaphores' argument anymore, and made
ShmemAllocUnlocked static. Thanks!

- Heikki

In response to

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Mats Kindahl 2025-11-06 12:47:35 Re: Refactor StringInfo usage in subscriptioncmds.c
Previous Message Thomas Munro 2025-11-06 12:46:01 Re: [PATCH] Fix orphaned backend processes on Windows using Job Objects