httpd-cvs mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From traw...@apache.org
Subject cvs commit: httpd-2.0/server request.c
Date Thu, 07 Jun 2001 03:02:05 GMT
trawick     01/06/06 20:02:04

  Modified:    .        CHANGES
               server   request.c
  Log:
  back out bogus "fix" for subrequest buckets using wrong pool
  
  Submitted by: Greg Stein
  
  Revision  Changes    Path
  1.218     +0 -5      httpd-2.0/CHANGES
  
  Index: CHANGES
  ===================================================================
  RCS file: /home/cvs/httpd-2.0/CHANGES,v
  retrieving revision 1.217
  retrieving revision 1.218
  diff -u -r1.217 -r1.218
  --- CHANGES	2001/06/07 01:29:20	1.217
  +++ CHANGES	2001/06/07 03:02:00	1.218
  @@ -1,10 +1,5 @@
   Changes with Apache 2.0.19-dev
   
  -  *) Fix a problem with subrequest buckets having private data in the
  -     wrong (i.e., subrequest) pool.  This could lead to a segfault
  -     later after the subrequest pool is cleaned up.  
  -     [Ryan Bloom, Jeff Trawick]
  -
     *) Add a new request hook, error_log.  This phase allows modules
        to act on the error log string _after_ it has been written
        to the error log.  The goal for this hook is to allow monitoring
  
  
  
  1.6       +0 -33     httpd-2.0/server/request.c
  
  Index: request.c
  ===================================================================
  RCS file: /home/cvs/httpd-2.0/server/request.c,v
  retrieving revision 1.5
  retrieving revision 1.6
  diff -u -r1.5 -r1.6
  --- request.c	2001/06/07 01:24:44	1.5
  +++ request.c	2001/06/07 03:02:03	1.6
  @@ -808,40 +808,7 @@
       apr_bucket *e = APR_BRIGADE_LAST(bb);
   
       if (APR_BUCKET_IS_EOS(e)) {
  -        apr_bucket_brigade *tmpbb;
  -
           apr_bucket_delete(e);
  -
  -        if (!APR_BRIGADE_EMPTY(bb)) { /* avoid brigade create/destroy */
  -
  -            /* We need to be certain that any data in a bucket is valid
  -             * after the subrequest pool is cleared.
  -             */ 
  -            tmpbb = apr_brigade_create(f->r->main->pool);
  -            
  -            APR_BRIGADE_FOREACH(e, bb) {
  -                const char *str;
  -                apr_size_t n;
  -                apr_status_t rv;
  -                
  -                rv = apr_bucket_read(e, &str, &n, APR_BLOCK_READ);
  -                /* XXX handle rv! */
  -                
  -                /* This apr_brigade_write does not use a flush function
  -                   because we assume that we will not write enough data
  -                   into it to cause a flush. However, if we *do* write
  -                   "too much", then we could end up with transient
  -                   buckets which would suck. This works for now, but is
  -                   a bit shaky if changes are made to some of the
  -                   buffering sizes. Let's do an assert to prevent
  -                   potential future problems... */
  -                AP_DEBUG_ASSERT(AP_MIN_BYTES_TO_WRITE <=
  -                                APR_BUCKET_BUFF_SIZE);
  -                apr_brigade_write(tmpbb, NULL, NULL, str, n);
  -            }
  -            apr_brigade_destroy(bb);
  -            bb = tmpbb;
  -        }
       }
       return ap_pass_brigade(f->next, bb);
   }
  
  
  

Mime
View raw message