Olivier and Marc,
Ignoring the SIGCHLD will not help rid of zombie processes. They need to
be properly reaped. I made a fix for this problem. The diff below is
against sipp 1.1 cumulus 2006-05-29 snapshot.
The details of the situation and its cause are described well in a book
by R. Stevens "Advanced Programming in the UNIX Environment"
Best Regards,
Vlad
34a35,37
> #include <sys/types.h>
> #include <sys/wait.h>
>
2540,2543c2544,2555
< // child process - execute the command
< system(x);
< exit(EXIT_OTHER);
<
---
> // first child process - execute the command
> if((l_pid = fork()) < 0)
> {
> ERROR("Forking
error");
> }
> else
> {
> if( l_pid == 0)
> system(x); // second child runs
> exit(EXIT_OTHER);
> }
> break;
2545a2558,2562
> // reap first child
immediately
> if(waitpid(l_pid, NULL,
0) != l_pid)
> {
> ERROR("waitpid
error");
> }
-----Original Message-----
From: [EMAIL PROTECTED]
[mailto:[EMAIL PROTECTED] On Behalf Of Olivier
Jacques
Sent: Tuesday, October 17, 2006 5:17 AM
To: [EMAIL PROTECTED]
Cc: [email protected]
Subject: Re: [Sipp-users] sipp defunct processes
[EMAIL PROTECTED] wrote:
>
> Hello all,
>
> subject: sipp defunct processes
>
> I'm using sipp for a while now (on linux), and wanted to generate some
> syslog messages when things go wrong with the SUT.
>
> As no syslog functionality is built in, I started calling the external
> program logger, and I noticed the same behaviour as found with google
> and copied here below (between the dashes): hanging defunct child
> processes.
>
> As I only subscribed the mailing list a few days ago and google didn't
> indicate a solution to this problem yet, I hope I'm not too late with
> this contribution.
>
> Now, I'm a (very;-) old programmer from the time C++ was not yet
> really used, I found rather quickly what was the problem, but it's
> somewhat hard for me to put all pieces correctly in the code. So I
> made a description how to solve this problem, hoping somebody knowing
> his way in the sipp code but knowing less about unix process handling
> can easily add it. You can find the description below Harry's mail,
> based on the code version 1.1rc6.
>
> Best regards,
>
> MarcVD
>
Marc,
thanks for this contribution.
What about ignoring SIGCLD?
There are two places where SIPp forks: for the "system" command and for
the background mode. In both places, this seems like an acceptable
solution.
What do you think?
Olivier.
------------------------------------------------------------------------
-
Using Tomcat but need to do more? Need to support web services,
security?
Get stuff done quickly with pre-integrated technology to make your job
easier
Download IBM WebSphere Application Server v.1.0.1 based on Apache
Geronimo
http://sel.as-us.falkag.net/sel?cmd=lnk&kid=120709&bid=263057&dat=121642
_______________________________________________
Sipp-users mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/sipp-users
-------------------------------------------------------------------------
Using Tomcat but need to do more? Need to support web services, security?
Get stuff done quickly with pre-integrated technology to make your job easier
Download IBM WebSphere Application Server v.1.0.1 based on Apache Geronimo
http://sel.as-us.falkag.net/sel?cmd=lnk&kid=120709&bid=263057&dat=121642
_______________________________________________
Sipp-users mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/sipp-users