Re: BUG #15804: Assertion failure when using logging_collector with EXEC_BACKEND
От | Tom Lane |
---|---|
Тема | Re: BUG #15804: Assertion failure when using logging_collector with EXEC_BACKEND |
Дата | |
Msg-id | 29644.1557869457@sss.pgh.pa.us обсуждение исходный текст |
Ответ на | Re: BUG #15804: Assertion failure when using logging_collector with EXEC_BACKEND (Tom Lane <tgl@sss.pgh.pa.us>) |
Список | pgsql-bugs |
I wrote: > It might be better to give up the assertion in PGSharedMemoryNoReAttach, > and just make it work more like PGSharedMemoryDetach, ie "detach if > UsedShmemSegAddr is set, else do nothing". I don't remember for sure, > but if we do that, there might be no functional difference anymore > between those two functions, in which case we might as well merge 'em. Apropos of this: I notice that commit 57431a911 is already relying on PGSharedMemoryDetach to do the "right thing" here, because that gets called in the non-EXEC_BACKEND code path, cf SysLogger_Start: /* Drop our connection to postmaster's shared memory, as well */ dsm_detach_all(); PGSharedMemoryDetach(); I'm also not too happy that this comment doesn't mention the fact that we'd (now) only be attached to shmem in the case of a postmaster restart. BTW, it looks to me like dsm_detach_all doesn't get called anywhere in the EXEC_BACKEND case, which seems like a separate bug. regards, tom lane
В списке pgsql-bugs по дате отправления: