[sheepdog] [PATCH] call a default signal handler in crash_handler()

MORITA Kazutaka morita.kazutaka at lab.ntt.co.jp
Fri Apr 12 08:53:36 CEST 2013


At Fri, 12 Apr 2013 14:28:02 +0800,
Liu Yuan wrote:
> 
> On 04/12/2013 02:21 PM, MORITA Kazutaka wrote:
> > It means that the default handler for the signal couldn't terminate
> > the process even though we sent the signal just before the line.  If
> > we get the message, something goes wrong.
> 
> we are already at crash_handler. doesn't it mean the process is going to
> be terminated? What the patch does is to raise the signal manually. I'm
> afraid I still don't get it the intention to call signal handler inside
> crash_handler().

If we don't call the default handler by re-raising the signal, the
process doesn't dump a core file.  Actually, current collie and logger
cannot generate a core file.

Sheep can generate a core file on my environment because the default
handler is called after crash_handler().  However, the behavior of the
process when we don't exit in the SIGSEGV handler is not defined
according to POSIX.  If we call exit() in crash_handler(), we cannot
get the core file.

Thanks,

Kazutaka



More information about the sheepdog mailing list