Re: Rename ShmemVariableCache and initialize it in more standard way - Mailing list pgsql-hackers

From Tristan Partin
Subject Re: Rename ShmemVariableCache and initialize it in more standard way
Date
Msg-id CXFOYNTXAF96.2U1ZER8HGNDEY@neon.tech
Whole thread Raw
In response to Rename ShmemVariableCache and initialize it in more standard way  (Heikki Linnakangas <hlinnaka@iki.fi>)
Responses Re: Rename ShmemVariableCache and initialize it in more standard way
List pgsql-hackers
On Mon Dec 4, 2023 at 6:49 AM CST, Heikki Linnakangas wrote:
> This came up in the "Refactoring backend fork+exec code" thread recently
> [0], but is independent of that work:
>
> On 11/07/2023 01:50, Andres Freund wrote:
> >> --- a/src/backend/storage/ipc/shmem.c
> >> +++ b/src/backend/storage/ipc/shmem.c
> >> @@ -144,6 +144,8 @@ InitShmemAllocation(void)
> >>      /*
> >>       * Initialize ShmemVariableCache for transaction manager. (This doesn't
> >>       * really belong here, but not worth moving.)
> >> +     *
> >> +     * XXX: we really should move this
> >>       */
> >>      ShmemVariableCache = (VariableCache)
> >>          ShmemAlloc(sizeof(*ShmemVariableCache));
> >
> > Heh. Indeed. And probably just rename it to something less insane.
>
> Here's a patch to allocate and initialize it with a pair of ShmemSize
> and ShmemInit functions, like all other shared memory structs.
>

>  +        if (!IsUnderPostmaster)
>  +        {
>  +                Assert(!found);
>  +                memset(ShmemVariableCache, 0, sizeof(VariableCacheData));
>  +        }
>  +        else
>  +                Assert(found);

Should the else branch instead be a fatal log?

Patches look good to me.
--
Tristan Partin
Neon (https://neon.tech)



pgsql-hackers by date:

Previous
From: Ashutosh Bapat
Date:
Subject: Re: Proposal: In-flight explain logging
Next
From: "Drouvot, Bertrand"
Date:
Subject: Re: Synchronizing slots from primary to standby