| 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
| From | Date | Subject | |
|---|---|---|---|
| Previous Message | Andres Freund | 2026-07-22 13:19:39 | Re: convert various variables to atomics |