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 |
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 |