Re: pgsql: pgstat: Bring up pgstat in BaseInit() to fix uninitialized use o
От | Amit Kapila |
---|---|
Тема | Re: pgsql: pgstat: Bring up pgstat in BaseInit() to fix uninitialized use o |
Дата | |
Msg-id | CAA4eK1KMxJMEdDVFQZ7qn9ZgjY=anUf9X3Jbun7q7Ph=azg+ng@mail.gmail.com обсуждение исходный текст |
Ответ на | Re: pgsql: pgstat: Bring up pgstat in BaseInit() to fix uninitialized use o (Andres Freund <andres@anarazel.de>) |
Список | pgsql-hackers |
On Thu, Aug 12, 2021 at 6:24 PM Andres Freund <andres@anarazel.de> wrote: > > On 2021-08-12 05:48:19 -0700, Andres Freund wrote: > > I think SharedFileSetInit() needs a comment explaining that it needs to be > > called in a process-lifetime memory context if used without dsm > > segments. Because otherwise SharedFileSetDeleteOnProcExit() will access > > already freed memory (both for filesetlist and the SharedFileSet itself). > > Oh. And I think it's not ok that SharedFileSetDeleteAll() unconditionally does > SharedFileSetUnregister(). SharedFileSetUnregister() asserts out if there's no > match, but DSM based sets are never entered into filesetlist. So one cannot > have a non-DSM and DSM set coexisting. Which seems surprising. > Oops, it should be allowed to have both non-DSM and DSM set coexisting. I think we can remove Assert from SharedFileSetUnregister(). The other way could be to pass a parameter to SharedFileSetDeleteAll() to tell whether to unregister or not. -- With Regards, Amit Kapila.
В списке pgsql-hackers по дате отправления: