Re: [HACKERS] possible self-deadlock window after badProcessStartupPacket
От | Heikki Linnakangas |
---|---|
Тема | Re: [HACKERS] possible self-deadlock window after badProcessStartupPacket |
Дата | |
Msg-id | 2b5322bc-b95c-e4bf-e6ef-6983b553dd16@iki.fi обсуждение исходный текст |
Ответ на | Re: [HACKERS] possible self-deadlock window after badProcessStartupPacket (Nico Williams <nico@cryptonector.com>) |
Список | pgsql-hackers |
On 19/07/18 23:04, Nico Williams wrote: > On Thu, Jun 22, 2017 at 03:10:31PM -0400, Tom Lane wrote: >> Andres Freund <andres@anarazel.de> writes: >>> Or, probably more robust: Simply _exit(2) without further ado, and rely >>> on postmaster to output an appropriate error message. Arguably it's not >>> actually useful to see hundreds of "WARNING: terminating connection because of >>> crash of another server process" messages in the log anyway. >> >> At that point you might as well skip the entire mechanism and go straight >> to SIGKILL. IMO the only reason quickdie() exists at all is to try to >> send a helpful message to the client. And it is helpful --- your attempt >> to claim that it isn't sounds very much like wishful thinking. > > I dunno if it is or isn't helpful. But I do know that this must be done > in an async-signal-safe way. > > Besides making ereport() async-signal-safe, which is tricky, you could > write(2) the arguments to a pipe that another thread in the same process > is reading from and which will then call ereport() and exit(3). I don't see how that helps. It still wouldn't be safe for the other thread to call ereport(), because the main thread might be in the middle of calling ereport() itself. - Heikki
В списке pgsql-hackers по дате отправления: