[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