Robert Haas <[email protected]> writes:
> On Mon, Aug 1, 2016 at 4:18 PM, Tom Lane <[email protected]> wrote:
>> Now, I'm undecided whether to flush that context only in parallel workers,
>> or to try to make it go away for all bgworkers of any stripe. The latter
>> seems a little better from a security standpoint, but I wonder if anyone
>> has a use-case where that'd be a bad idea?
> I think it would be better to get rid of it in all bgworkers.
I looked into this, and immediately found this in the spot in postmaster.c
that would be the obvious place to kill the PostmasterContext:
/* Do NOT release postmaster's working memory context */
MyBgworkerEntry = &rw->rw_worker;
StartBackgroundWorker();
This comment was in Alvaro's original commit adding bgworkers (da07a1e8).
It looks to me like the reason for it is simply not having bothered to
copy the rw->rw_worker data to somewhere that would survive deletion
of the PostmasterContext. I wonder though if anyone remembers a more
fundamental reason? Surely the bgworker is not supposed to touch any
of the rest of the BackgroundWorkerList?
regards, tom lane
--
Sent via pgsql-hackers mailing list ([email protected])
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-hackers