You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@httpd.apache.org by Howard Fear <hs...@pooh.pageplus.com> on 1996/07/15 06:04:10 UTC

Re: WWW Form Bug Report: "SSI ... (+ mod_xinclude.c)

The following is a valid problem and fix:

Rob Hartill writes:
> 
> BTW, if this is a valid fix, then Howard you should probably look to
> see if you inherrited the bug for mod_xinclude.c
> 
>>==========
>>>*** apache-1.1.1/src/mod_include.c      Tue Jul  9 12:43:18 1996
>>>--- apache-1.1.1a/src/mod_include.c     Sun Jul 14 20:03:25 1996
>>>***************
>>>*** 506,512 ****
>>>          return -1;
>>> 
>>>      send_fd(f,r);
>>>!     pfclose(r->pool, f);      /* will wait for zombie when
>>>                                 * r->pool is cleared
>>>                                 */
>>>      return 0;
>>>--- 506,512 ----
>>>          return -1;
>>> 
>>>      send_fd(f,r);
>>>!     pfclose(r->connection->pool, f);  /* will wait for zombie when
>>>                                 * r->pool is cleared
>>>                                 */
>>>      return 0;
>>>===========

This causes a more specific case of the linux problem I patched in 1.1b3,
attempting to close an fd twice.  On Linux, this causes a core dump which
creates additional fork/exec load.  Otherwise, I don't think that there
are any other effects :-) (Meaning systems that don't core may not see it
at all.  The process does eventually get wait'd on, so it shouldn't
result in zombies - although I could be wrong here.)

I do suspect, though, that I would change both to be r->pool instead of
r->connection->pool.  This would be more consistent with the meaning of
both and the usage in mod_include.c.  Attached is the patch.

--
Howard Fear      email1: howard_fear@pageplus.com
                 email2: howard_fear@stortek.com
                 http://www.pageplus.com/~hsf/