This is the mail archive of the cygwin-developers@cygwin.com mailing list for the Cygwin 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: SIGCLD (?) problem


On Sun, Aug 11, 2002 at 04:08:06PM +0100, Conrad Scott wrote:
>So it looks (to the untrained eye) like a race, but I've not got
>anywhere much myself so I thought I'd punt on this one and hope
>some more wizardly being out there might see something in all
>this.

I don't see how there could be a race.  thread 2 should be the
signal thread.  It would be interesting to see what it is doing.
It sounds like it has not been started or something, which would
make the "wait_for_me" function block forever.

I've made some changes and added some assertions throughout the code.
I don't think they will solve the problem but it may make things a
little clearer if there is a problem.

>p.s. I'll keep this process hung in gdb for the moment in case I
>get enthusiastic tomorrow or someone else wants some more
>information.

Could you check on the value of wait_sig_inited?  Is it non-zero?
The problem is that the process processing thread should not have
to be waiting for this.  Although, it looks like it is possible
for this scenario to happen if a process forks, and then quickly
execs.  My just-checked-in-changes change that behavior.  So,
now if it hangs it should hang in fork.

cgf


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