Re: convert various variables to atomics

From: Nathan Bossart <nathandbossart(at)gmail(dot)com>
To: Andres Freund <andres(at)anarazel(dot)de>
Cc: Peter Eisentraut <peter(at)eisentraut(dot)org>, pgsql-hackers(at)postgresql(dot)org
Subject: Re: convert various variables to atomics
Date: 2026-07-22 13:31:49
Message-ID: amDGRZxnlmTVjkCe@nathan
Views: Whole Thread | Raw Message | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

On Wed, Jul 22, 2026 at 09:19:39AM -0400, Andres Freund wrote:
> On 2026-07-22 09:06:44 -0400, Nathan Bossart wrote:
>> > /* Buffer id of the buffer that Startup process waits for pin on, or -1 */
>> > - int startupBufferPinWaitBufId;
>> > + pg_atomic_uint32 startupBufferPinWaitBufId;
>>
>> I may just be undercaffeinated, but what is wrong with this case? AFAICT
>> the casting should work as expected, and I see other examples that do
>> something similar, like avLauncherProc.
>
> The comment says -1, which doesn't really make sense for an unsigned variable.

Ah. It looks like we could use 0 as the sentinel and simplify the call
sites. They subtract one before calling SetStartupBufferPinWaitBufId() and
add one after calling GetStartupBufferPinWaitBufId().

--
nathan

In response to

Browse pgsql-hackers by date

  From Date Subject
Previous Message Andres Freund 2026-07-22 13:19:39 Re: convert various variables to atomics