You are viewing a plain text version of this content. The canonical link for it is here.
Posted to cvs@httpd.apache.org by ji...@apache.org on 2003/09/02 20:17:05 UTC

cvs commit: apache-1.3/src/main alloc.c

jim         2003/09/02 11:17:05

  Modified:    src      CHANGES
               src/main alloc.c
  Log:
  Fix 21737 via a streamlined patch
  
  Revision  Changes    Path
  1.1904    +3 -0      apache-1.3/src/CHANGES
  
  Index: CHANGES
  ===================================================================
  RCS file: /home/cvs/apache-1.3/src/CHANGES,v
  retrieving revision 1.1903
  retrieving revision 1.1904
  diff -u -r1.1903 -r1.1904
  --- CHANGES	31 Jul 2003 20:30:26 -0000	1.1903
  +++ CHANGES	2 Sep 2003 18:17:04 -0000	1.1904
  @@ -1,5 +1,8 @@
   Changes with Apache 1.3.29
   
  +  *) Prevent creation of subprocess Zombies when using CGI wrappers
  +     such as suExec and cgiwrap. PR 21737. [Numerous]
  +
     *) ab: Overlong credentials given via command line no longer clobber
        the buffer.  [Andr� Malo]
   
  
  
  
  1.146     +4 -6      apache-1.3/src/main/alloc.c
  
  Index: alloc.c
  ===================================================================
  RCS file: /home/cvs/apache-1.3/src/main/alloc.c,v
  retrieving revision 1.145
  retrieving revision 1.146
  diff -u -r1.145 -r1.146
  --- alloc.c	20 Jun 2003 15:05:40 -0000	1.145
  +++ alloc.c	2 Sep 2003 18:17:05 -0000	1.146
  @@ -2859,12 +2859,10 @@
   	if ((p->kill_how == kill_after_timeout)
   	    || (p->kill_how == kill_only_once)) {
   	    /* Subprocess may be dead already.  Only need the timeout if not. */
  -	    if (ap_os_kill(p->pid, SIGTERM) == -1) {
  -                p->kill_how = kill_never;
  -            }
  -            else {
  -		need_timeout = 1;
  -            }
  +	    if ( (ap_os_kill(p->pid, SIGTERM) == -1) && (errno == ESRCH) )
  +	        p->kill_how = kill_never;
  +	    else
  +	        need_timeout = 1;
   	}
   	else if (p->kill_how == kill_always) {
   	    kill(p->pid, SIGKILL);