On 25/08/2023 00:00, Thomas Munro wrote:
On Fri, Aug 25, 2023 at 3:15 AM Heikki Linnakangas <[email protected]> wrote:
In summary, RegisterBackgroundWorker() is doing some questionable and
useless work, when a shared preload library is loaded to a backend
process in EXEC_BACKEND mode.
Yeah. When I was working on 7389aad6 ("Use WaitEventSet API for
postmaster's event loop."), I also tried to move all of the
postmaster's state variables into PostmasterContext (since the only
reason for that scope was the signal handler code that is now gone),
and I hit a variant of this design problem. I wonder if that would be
unblocked by this...
https://www.postgresql.org/message-id/CA+hUKGKH_RPAo=ngpfhkj--565al1qivpugdwt1_pmjehy+...@mail.gmail.com
A-ha, yes I believe this patch will unblock that.
RegisterBackgroundWorker() has no legit reason to access
BackgroundWorkerList in child processes, and with these patches, it no
longer does.
--
Heikki Linnakangas
Neon (https://neon.tech)