Re: common signal handler protection

Nathan Bossart <nathandbossart@gmail.com>

From: Nathan Bossart <nathandbossart@gmail.com>
To: pgsql-hackers@postgresql.org
Cc: andres@anarazel.de, noah@leadboat.com
Date: 2023-11-21T22:40:06Z
Lists: pgsql-hackers
On Tue, Nov 21, 2023 at 03:20:08PM -0600, Nathan Bossart wrote:
> +#ifdef NSIG
> +#define PG_NSIG (NSIG)
> +#else
> +#define PG_NSIG (64)			/* XXX: wild guess */
> +#endif

> +	Assert(signo < PG_NSIG);

cfbot seems unhappy with this on Windows.  IIUC we need to use
PG_SIGNAL_COUNT there instead, but I'd like to find a way to have just one
macro for all platforms.

-- 
Nathan Bossart
Amazon Web Services: https://aws.amazon.com



Commits

  1. Remove obsolete check in SIGTERM handler for the startup process.

  2. Centralize logic for restoring errno in signal handlers.

  3. Check that MyProcPid == getpid() in backend signal handlers.

  4. Avoid calling proc_exit() in processes forked by system().