This is the mail archive of the gdb@sourceware.org mailing list for the GDB project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: SIGCHLD ignored


Daniel Jacobowitz wrote:

> On Wed, Jun 11, 2008 at 09:21:05PM +0400, Vladimir Prus wrote:
>> 
>> A fellow KDevelop hacker has reported that when running kdevelop itself
>> under CVS HEAD of gdb, kdevelop hangs. What happens if that kdevelop spawns
>> subprocess, and then does not notice it has exited, because it never
>> receives SIGCHLD. I attach a much reduced project that requires only Qt4,
>> and probably an even more reduced project is possible.
>> 
>> If I apply the attached patch to GDB, things work fine -- but I suspect
>> this 'fix' will break something else.
>> 
>> Pedro, I think this SIGCHLD magic is your doing -- do you have any ideas
>> how to fix it?
> 
> linux_nat_create_inferior is already unblocking signals before
> creating.  Does normal_mask contain SIGCHLD? 

It does not, at least when the normal_mask is initially obtained.
linux_nat_create_inferior does restore the mask. Still, my test
case does not work.

> The approach taken (search for "signal" in fork-child.c, first
> comment) may not be compatible with async...

I actually would appreciate some comments about what we do with SIGCHLD
in linux-nat.c -- the code is fairly complex to understand this by
reading.

- Volodya





Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]