Re: expected behavior when a signal is sent to the ptraced child

Wu Zhou
2006-05-26T02:18:46Z

On Thu, 25 May 2006, Daniel Jacobowitz wrote:

> On Thu, May 25, 2006 at 11:06:43AM +0200, Andreas Schwab wrote:
> > Wu Zhou <woodzltc@cn.ibm.com> writes:
> >
> > > What I expect is the parent will at least output:
> > >
> > > stopped by signal 5
> > >
> > > What is the problem here? Did I make something wrong?
> >
> > You need to use waitpid/wait4 and add WUNTRACED to the options parameter.
> > Without that you'll never receive notification of stopped processes.
>
> WUNTRACED shouldn't be necessary in this case because the child is
> actually ptraced.

I guess Daniel is right. the manual of wait/waitpid says this about
WUNTRACED:
also return if a child has stopped (but not traced via
ptrace). Status for traced children which have stopped is
provided even if this option is not specified.

In the testcase, I use PTRACE_ATTACH to trace the child. So WUNTRACED is
not needed here.

Thank you anyway! At least I learned that there is a WUNTRACED option
to change the behavior of the delivery of a signal. it lets the child
stop without tracing it. A good feature indeed, right?

Regards
- Wu Zhou

P.S: it seems that my mail agent have some problems when connecting from
home. It sent a couple repeated message. Sorry for that!