Re: pgsql: Move cancel key generation to after forking the backend - Mailing list pgsql-committers

From Heikki Linnakangas
Subject Re: pgsql: Move cancel key generation to after forking the backend
Date
Msg-id c72c5e67-4c76-483c-9c93-fb19cfac5da4@iki.fi
Whole thread Raw
In response to Re: pgsql: Move cancel key generation to after forking the backend  (Heikki Linnakangas <hlinnaka@iki.fi>)
List pgsql-committers
On 29/07/2024 17:30, Heikki Linnakangas wrote:
> On 29/07/2024 16:25, Heikki Linnakangas wrote:
>> On 29/07/2024 16:23, Daniel Gustafsson wrote:
>>>> On 29 Jul 2024, at 15:18, Heikki Linnakangas <heikki.linnakangas@iki.fi> wrote:
>>>>
>>>> Move cancel key generation to after forking the backend
>>>
>>> longfin seems a tad sad about this one:
>>>
>>> procsignal.c:87:3: error: redefinition of typedef 'ProcSignalHeader' is a C11 feature
[-Werror,-Wtypedef-redefinition]
>>> } ProcSignalHeader;
>>> ^
>>> ../../../../src/include/storage/procsignal.h:77:33: note: previous definition is here
>>> typedef struct ProcSignalHeader ProcSignalHeader;
>>> ^
>>> 1 error generated.
>>> make[4]: *** [procsignal.o] Error 1
>>
>> Yep, thanks, just noticed and fixed it myself. I should add that to the
>> list of compiler options I use...
> 
> The --disable-spinlocks animals are still failing, however. Weird. I can
> reproduce it locally, and started to debug but I have no clue what's
> wrong. I'll keep debugging, but I'm all ears if anyone has ideas.

Found & fixed. I released the spinlock twice in EmitProcSignalBarrier. Oops.

I'm a little surprised there isn't an assertion for that. Would be 
useful. This might have gone unnoticed for a long time if not for the 
--disable-spinlocks implementation, and we've been talking about 
removing that.

-- 
Heikki Linnakangas
Neon (https://neon.tech)




pgsql-committers by date:

Previous
From: Heikki Linnakangas
Date:
Subject: pgsql: Fix double-release of spinlock
Next
From: Tom Lane
Date:
Subject: Re: pgsql: Fix double-release of spinlock