Re: PostmasterContext survives into parallel workers!?
От | Tom Lane |
---|---|
Тема | Re: PostmasterContext survives into parallel workers!? |
Дата | |
Msg-id | 21144.1470161191@sss.pgh.pa.us обсуждение исходный текст |
Ответ на | Re: PostmasterContext survives into parallel workers!? (Robert Haas <robertmhaas@gmail.com>) |
Ответы |
Re: PostmasterContext survives into parallel workers!?
|
Список | pgsql-hackers |
Robert Haas <robertmhaas@gmail.com> writes: > On Mon, Aug 1, 2016 at 4:18 PM, Tom Lane <tgl@sss.pgh.pa.us> 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
В списке pgsql-hackers по дате отправления: