1828411 Members
3350 Online
109977 Solutions
New Discussion

Re: Unexpected SIGCHLD

 
Joost Bijen
Occasional Contributor

Unexpected SIGCHLD

Hi,

A program I wrote is started through inetd and handles input/output through stdin/stdout. It runs fine on my HP-UX 9000/800 single CPU box.

When moving towards another 9000/800 with 4 CPU the program unexpectedly crashes and does so after receiving a SIGCHLD. Can it be that the difference is in the multiprocessor arrangement? The program on the first machine does not receive the SIGCHLD...

I do not create children myself (in C that is...) but I have linked some BEA Tuxedo 8.1 libraries that may create threads that I am not aware of.

Any hints on where to start looking for this behaviour?

Thanks,
Joost
2 REPLIES 2
A. Clay Stephenson
Acclaimed Contributor

Re: Unexpected SIGCHLD

I suspect that your single CPU box was working more or less by accident in that the real problem is timing related. Of course, without a stack trace or at least some tusc output, it's not possible to know what is wrong. The fix may be as simple as adding a signal handler for SIGCHLD.
If it ain't broke, I can fix that.
Joost Bijen
Occasional Contributor

Re: Unexpected SIGCHLD

The tusc trace provided me with exactly what I needed. I turned out that I hit the maxfiles kernel limit somewhere so I changed my piece of code that was the cause.

What I still do not know why this causes a SIGCHLD. nice to find out but I'm happy already :-)