You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@httpd.apache.org by Eric Covener <co...@gmail.com> on 2009/03/24 19:12:25 UTC
SIGQUIT using default signal handler instead of sig_coredump
SIGQUIT (3) does not go through sig_coredump(). Is this intentional to
short-circuit the sig_coredump handling in the case something is
broken there?
I'd like to document for CoreDumpDirectory, so people from Java world
aren't left scratching their heads.
--
Eric Covener
covener@gmail.com
Re: SIGQUIT using default signal handler instead of sig_coredump
Posted by Eric Covener <co...@gmail.com>.
On Tue, Mar 24, 2009 at 6:47 PM, Jeff Trawick <tr...@gmail.com> wrote:
> $ kill -QUIT 9297
> $ ls /cores/
> core.9297
> (/cores/ is the default location here.)
Same on recent linux and older solaris, but does not core or exit on AIX.
Even though it'd be safe to re-signal, it probably wouldn't be
appropriat to run the fatal exception hook. For now, I'm just going
to doc the difference for that signal.
--
Eric Covener
covener@gmail.com
Re: SIGQUIT using default signal handler instead of sig_coredump
Posted by Jeff Trawick <tr...@gmail.com>.
On Tue, Mar 24, 2009 at 11:20 PM, Ruediger Pluem <rp...@apache.org> wrote:
> On 24.03.2009 19:12, Eric Covener wrote:
> > SIGQUIT (3) does not go through sig_coredump(). Is this intentional to
> > short-circuit the sig_coredump handling in the case something is
> > broken there?
>
I dunno about the intentions.
>
>
> IMHO SIGQUIT isn't supposed to cause a coredump. Only "fatal" signals are
> supposed to do this. If you need a coredump of your running process just
> use
> gcore or gdb.
See http://en.wikipedia.org/wiki/SIGQUIT
I think the issue is that SIGQUIT does terminate the process with a core
dump (at least on some systems). Given that, the question is whether we
should respect any CoredumpDirectory setting on the way out. Respecting
CoredumpDirectory seems reasonable.
OS X:
$ lsap
9292 1 ./httpd
9293 9292 ./httpd
9294 9292 ./httpd
9295 9292 ./httpd
9296 9292 ./httpd
9297 9292 ./httpd
$ kill -QUIT 9297
$ ls /cores/
core.9297
(/cores/ is the default location here.)
Re: SIGQUIT using default signal handler instead of sig_coredump
Posted by Ruediger Pluem <rp...@apache.org>.
On 24.03.2009 19:12, Eric Covener wrote:
> SIGQUIT (3) does not go through sig_coredump(). Is this intentional to
> short-circuit the sig_coredump handling in the case something is
> broken there?
IMHO SIGQUIT isn't supposed to cause a coredump. Only "fatal" signals are
supposed to do this. If you need a coredump of your running process just use
gcore or gdb.
Regards
RĂ¼diger