Re: Review: Extra Daemons / bgworker
От | Alvaro Herrera |
---|---|
Тема | Re: Review: Extra Daemons / bgworker |
Дата | |
Msg-id | 20121206045931.GK4673@alvh.no-ip.org обсуждение исходный текст |
Ответ на | Re: Review: Extra Daemons / bgworker (Andres Freund <andres@2ndquadrant.com>) |
Список | pgsql-hackers |
Andres Freund wrote: > On 2012-12-05 18:42:42 -0300, Alvaro Herrera wrote: > > > <para> > > > <structfield>bgw_sighup</structfield> and <structfield>bgw_sigterm</> are > > > pointers to functions that will be installed as signal handlers for the new > > > - process. > > > + process. XXX: Can they be NULL? > > > </para> > > > > Hm. The code doesn't check, so what happens is probably a bug anyhow. > > I don't know whether sigaction crashes in this case; its manpage doesn't > > say. I guess the right thing to do is have RegisterBackgroundWorker > > check for a NULL sighandler, and set it to something standard if so (say > > SIG_IGN for SIGHUP and maybe quickdie() or similar for SIGTERM). > > Afair a NULL sigaction is used to query the current handler. Which > indirectly might lead to problems due to the wrong handler being called. > > Setting up SIG_IGN and quickdie in that case seems to be sensible. Here's v9. It adds that change, the tweaked docs, a bug fix (postmaster would kill itself if there's a process crash and a bgworker is stopped), and some pgindent and code reordering. github.com/alvherre/postgres/tree/bgworker contains this submission as commit fa4731c. I think we can get this committed as a useful starting point for this feature. -- Álvaro Herrera http://www.2ndQuadrant.com/ PostgreSQL Development, 24x7 Support, Training & Services
Вложения
В списке pgsql-hackers по дате отправления: