PG_SETMASK() archeology

From: Thomas Munro <thomas(dot)munro(at)gmail(dot)com>
To: pgsql-hackers <pgsql-hackers(at)postgresql(dot)org>
Subject: PG_SETMASK() archeology
Date: 2023-01-13 01:00:05
Message-ID: CA+hUKG+KfQgrhHP2DLTohX1WwubaCBHmTzGnAEDPZ-Gug-Xskg@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

Hi,

This is a follow-up for commit c94ae9d8. It's in the spirit of other
recent changes to remove noise from ancient pre-standard systems.

The reason we introduced PG_SETMASK() in the first place was to
support one particular system that was very slow to adopt the POSIX
signals stuff: NeXTSTEP 3.x.

From some time in the dark age before our current repo begins until
'97 we used sigprocmask() freely. Then commit a5494a2d added a
sigsetmask() fallback for NeXTSTEP (that's a pre-standard function
inherited from '80s BSD). In 1999 we added the PG_SETMASK() macro to
avoid repeating #ifdef HAVE_SIGPROCMASK to select between them at each
call site (commit 47937403676). I have no personal knowledge of those
systems; I wonder if it was already effectively quite defunct while we
were adding the macro, but I dunno (NS 4.x never shipped?, but its
living descendent OSX had already shipped that year).

Then we invented a bogus reason to need the macro for a couple more
decades: our Windows simulated signal layer accidentally implemented
the old BSD interface instead of the standard one, as complained about
in commit a65e0864.

That's all ancient history now, and I think we might as well drop the
macro to make our source a tiny bit less weird for new players, with a
slightly richer interface. Trivial patch attached.

Attachment Content-Type Size
0001-Retire-PG_SETMASK-macro.patch text/x-patch 10.3 KB

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message David G. Johnston 2023-01-13 01:15:50 Re: pgsql: Add new GUC createrole_self_grant.
Previous Message vignesh C 2023-01-13 00:47:59 Re: mprove tab completion for ALTER EXTENSION ADD/DROP