| From: | Andres Freund <andres(at)2ndquadrant(dot)com> | 
|---|---|
| To: | Alvaro Herrera <alvherre(at)2ndquadrant(dot)com> | 
| Cc: | Markus Wanner <markus(at)bluegap(dot)ch>, kaigai(at)kaigai(dot)gr(dot)jp, PostgreSQL-development Hackers <pgsql-hackers(at)postgresql(dot)org> | 
| Subject: | Re: Review: Extra Daemons / bgworker | 
| Date: | 2012-12-05 22:25:02 | 
| Message-ID: | 20121205222502.GY27424@awork2.anarazel.de | 
| Views: | Whole Thread | Raw Message | Download mbox | Resend email | 
| Thread: | |
| Lists: | pgsql-hackers | 
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.
Greetings,
Andres Freund
--
 Andres Freund	                   http://www.2ndQuadrant.com/
 PostgreSQL Development, 24x7 Support, Training & Services
| From | Date | Subject | |
|---|---|---|---|
| Next Message | Dimitri Fontaine | 2012-12-05 22:28:45 | Re: Dumping an Extension's Script | 
| Previous Message | Tom Lane | 2012-12-05 22:23:08 | Re: PITR potentially broken in 9.2 |