Re: Interrupts vs signals

Heikki Linnakangas <hlinnaka@iki.fi>

From: Heikki Linnakangas <hlinnaka@iki.fi>
To: Jelte Fennema-Nio <postgres@jeltef.nl>
Cc: Michael Paquier <michael@paquier.xyz>, Robert Haas <robertmhaas@gmail.com>, Thomas Munro <thomas.munro@gmail.com>, Fujii Masao <masao.fujii@gmail.com>, pgsql-hackers <pgsql-hackers@postgresql.org>, Andres Freund <andres@anarazel.de>
Date: 2024-11-10T21:30:13Z
Lists: pgsql-hackers
On 05/11/2024 22:21, Jelte Fennema-Nio wrote:
> On Mon, 4 Nov 2024 at 20:42, Heikki Linnakangas <hlinnaka@iki.fi> wrote:
>> Having spent some time playing with this, I quite like option C: break
>> compatibility, but provide an out-of-tree header file with
>> *forward*-compatibility macros. That encourages extension authors to
>> adapt to new idioms, but avoids having to sprinkle extension code with
>> #if version checks to support old versions.
> 
> +1 maintaining a subset of these things for every extension is kind of a pain
> 
>> My plan is to put this on the Wiki
> 
> Why the wiki and not as a file in the repo? Seems like it would be
> nice to update this file together with patches that introduce such
> breakages. To be clear, I think it shouldn't be possible to #include
> the file, such a forward compatibility file should always be
> copy-pasted. But having it in the same place as the code seems useful,
> just like we update docs together with the code.

I thought of the Wiki so that it could updated more casually by 
extension authors. But sure, it could be a file in the main repo too.

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




Commits

  1. Ignore SIGINT in walwriter and walsummarizer

  2. Split WaitEventSet functions to separate source file

  3. Use ModifyWaitEvent to update exit_on_postmaster_death

  4. Remove unused ShutdownLatchSupport() function

  5. Rename two functions that wake up other processes

  6. Use ProcNumbers instead of direct Latch pointers to address other procs

  7. Clean up WaitLatch calls that passed latch without WL_LATCH_SET

  8. Remove unneeded #include

  9. Remove unused latch

  10. Remove support for background workers without BGWORKER_SHMEM_ACCESS.