Re: Buffer locking is special (hints, checksums, AIO writes) - Mailing list pgsql-hackers

From Andres Freund
Subject Re: Buffer locking is special (hints, checksums, AIO writes)
Date
Msg-id t4jhrtzfd2a3aabsppkfgr64fxy7i2457xj2w2gv3dbgqja3bz@xugvaeu2je2q
Whole thread Raw
In response to Re: Buffer locking is special (hints, checksums, AIO writes)  (Andres Freund <andres@anarazel.de>)
List pgsql-hackers
Hi,

On 2026-01-15 18:26:18 -0500, Andres Freund wrote:
> On 2026-01-15 18:19:41 -0500, Tom Lane wrote:
> > Andres Freund <andres@anarazel.de> writes:
> > > Can't quite decide between just using always_inline - after all the buffer
> > > locking really is a rather crucial code path - and just initializing
> > > wait_event to 0. Either seems better than using a default:.
> > 
> > Yeah, I agree with not using a default: in case we ever extend
> > the mode enum.  I'd be inclined to fix it like this:
> > 
> >              case BUFFER_LOCK_UNLOCK:
> >                  pg_unreachable();
> > +                /* silence possible compiler warning: */ 
> > +                wait_event = 0;
> >           }
> 
> Unfortunately that doesn't seem to do the trick, at least not locally (gcc
> 14). I think gcc is considering the case where mode has a value outside of the
> known values of the enum.  Hence needing initialize wait_event to zero in the
> declaration to avoid the warning.

I've now pushed the initialization of wait_event, as I'll be only semi-online
until late Monday.

Greetings,

Andres Freund



pgsql-hackers by date:

Previous
From: Bertrand Drouvot
Date:
Subject: Re: Flush some statistics within running transactions
Next
From: Oleg Tkachenko
Date:
Subject: Re: [BUG] [PATCH] pg_basebackup produces wrong incremental files after relation truncation in segmented tables