httpd-cvs mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From r..@apache.org
Subject cvs commit: httpd-2.0/server core.c
Date Mon, 25 Feb 2002 06:54:41 GMT
rbb         02/02/24 22:54:41

  Modified:    .        STATUS
               server   core.c
  Log:
  I learned about AP_MODE_EXHAUSTIVE while reading some of the new filter
  code earlier today.  With this mode, the Perchild MPM can finally be
  fixed to work with filters.  I have changed a comment in the core to make
  it clear that this mode is required, but I have mentioned how dangerous
  this mode is.  Also add a comment to STATUS about my plans.
  
  Hopefully I'll have some time this week to hack through the MPM.
  
  Revision  Changes    Path
  1.524     +8 -1      httpd-2.0/STATUS
  
  Index: STATUS
  ===================================================================
  RCS file: /home/cvs/httpd-2.0/STATUS,v
  retrieving revision 1.523
  retrieving revision 1.524
  diff -u -r1.523 -r1.524
  --- STATUS	24 Feb 2002 16:20:01 -0000	1.523
  +++ STATUS	25 Feb 2002 06:54:40 -0000	1.524
  @@ -1,5 +1,5 @@
   APACHE 2.0 STATUS:                                              -*-text-*-
  -Last modified at [$Date: 2002/02/24 16:20:01 $]
  +Last modified at [$Date: 2002/02/25 06:54:40 $]
   
   Release:
   
  @@ -126,6 +126,13 @@
         -0:   Aaron (premature decision, needs more discussion), Lars
   
   RELEASE NON-SHOWSTOPPERS BUT WOULD BE REAL NICE TO WRAP THESE UP:
  +
  +    * With AP_MODE_EXHAUSTIVE in the core, it is finally clear to me
  +      how the Perchild MPM should be re-written.  It hasn't worked
  +      correctly since filters were added because it wasn't possible to
  +      get the content that had already been written and the socket at
  +      the same time.  This mode lets us do that, so the MPM can be
  +      fixed.
   
       * htpasswd blindly processes the file you give it, and does no
         sanity checking before totally corrupting whatever file it was
  
  
  
  1.152     +10 -8     httpd-2.0/server/core.c
  
  Index: core.c
  ===================================================================
  RCS file: /home/cvs/httpd-2.0/server/core.c,v
  retrieving revision 1.151
  retrieving revision 1.152
  diff -u -r1.151 -r1.152
  --- core.c	21 Feb 2002 17:20:26 -0000	1.151
  +++ core.c	25 Feb 2002 06:54:40 -0000	1.152
  @@ -3266,14 +3266,16 @@
           }
       }
   
  -    /* If readbytes is -1, we want to just read everything until the end
  -     * of the brigade, which in this case means the end of the socket.  To
  -     * do this, we loop through the entire brigade, until the socket is
  -     * exhausted, at which point, it will automagically remove itself from
  -     * the brigade.
  -     * ### No one in their right mind should be calling this with -1.
  -     *     This is just an all-around bad idea.  We may be better off by 
  -     *     just closing the socket.  Determine whether anyone uses this.
  +    /* If mode is EXHAUSTIVE, we want to just read everything until the end
  +     * of the brigade, which in this case means the end of the socket.
  +     * To do this, we attach the brigade that has currently been setaside to
  +     * the brigade that was passed down, and send that brigade back.
  +     * 
  +     * NOTE:  This is VERY dangerous to use, and should only be done with
  +     * extreme caution.  However, the Perchild MPM needs this feature
  +     * if it is ever going to work correctly again.  With this, the Perchild
  +     * MPM can easily request the socket and all data that has been read,
  +     * which means that it can pass it to the correct child process.
        */
       if (mode == AP_MODE_EXHAUSTIVE) {
           apr_bucket *e;
  
  
  

Mime
View raw message