httpd-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Chuck Murcko <ch...@telebase.com>
Subject Re: Have I found my problem with Solaris and Apache ???
Date Sat, 13 Jul 1996 13:28:14 GMT
This looks correct for Solaris, but I have yet to get a chance to
see this myself. Joerg, can you send your Configuration and httpd.conf
files so I can reproduce your setup exactly? Thanks.

Joerg Morbitzer liltingly intones:
> 
> Hi,
> 
> I told you my problem with running Apache 1.1.1 and Solaris 2.4 !
> I think, I found something interesting, although I'm not
> good in programming C :-)
> 
> This is the cutting from a free printer software :
> XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
>   /*
>    * See if the caller isn't interested in the exit status of its
>    * children, and doesn't want to have them become zombies and
>    * clog up the system.
>    * With System V all we need do is ignore the signal.
>    * But Solaris seems to behave like BSD (that's why there is 
>    *    #ifdef IS_SUN instead of #ifdef SIGTSTP
>    * With BSD, however, we have to catch each signal
>    * and execute the wait3() system call.
>    */
>   
>   if (ignsigcld) {
> /*
> #ifdef  SIGTSTP
> */
> #ifdef IS_SUN
>     int sig_child();
>     
>     signal(SIGCLD, sig_child);  /* BSD */
> #else
>     signal(SIGCLD, SIG_IGN);    /* System V */
> #endif
>   }
> }
> XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
> 
> ...where sig_child is the following:
> 
> XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
> 
> /**********************************************************************
>  * 
>  * sig_child(): handel SIGCHLD signal. If you doesn't do this
>  *              you got a lot of Zombies :(
>  *
>  * Parameter:  -
>  *
>  * Return:     -
>  *
>  **********************************************************************/
> int sig_child()
> {
> #ifdef BSD
>   union wait status;
> #else       /* SYSV */
>   int status;
> #endif
> 
>   int pid;
>   
>   while ( (pid = wait3(&status, WNOHANG, (struct rusage *) 0)) > 0)
>     ;
> 
> }
> XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
> 
> 
> Does it help you ??? Have you any ideas ???????
> 
> Bye, Joerg.
> 
> 
> 
> 
> -- 
> ---------------------------------------------------------
> Joerg Morbitzer  - Student of Computer Science  
> E-Mail:	jomo@hni.uni-paderborn.de       
> WWW:	http://wwwhni.uni-paderborn.de/rb/jomo/jomo.html
> ---------------------------------------------------------
> 

chuck
Chuck Murcko	N2K Inc.	Wayne PA	chuck@telebase.com
And now, on a lighter note:
I didn't like the play, but I saw it under adverse conditions.  The
curtain was up.

Mime
View raw message