httpd-cvs mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From minf...@apache.org
Subject svn commit: r450188 - /httpd/httpd/trunk/modules/cache/mod_disk_cache.c
Date Tue, 26 Sep 2006 20:35:43 GMT
Author: minfrin
Date: Tue Sep 26 13:35:42 2006
New Revision: 450188

URL: http://svn.apache.org/viewvc?view=rev&rev=450188
Log:
Allocate the temporary copy file buffer from a pool.

Modified:
    httpd/httpd/trunk/modules/cache/mod_disk_cache.c

Modified: httpd/httpd/trunk/modules/cache/mod_disk_cache.c
URL: http://svn.apache.org/viewvc/httpd/httpd/trunk/modules/cache/mod_disk_cache.c?view=diff&rev=450188&r1=450187&r2=450188
==============================================================================
--- httpd/httpd/trunk/modules/cache/mod_disk_cache.c (original)
+++ httpd/httpd/trunk/modules/cache/mod_disk_cache.c Tue Sep 26 13:35:42 2006
@@ -985,7 +985,8 @@
 }
 
 
-static apr_status_t copy_body(apr_file_t *srcfd, apr_off_t srcoff, 
+static apr_status_t copy_body(apr_pool_t *p,
+                              apr_file_t *srcfd, apr_off_t srcoff, 
                               apr_file_t *destfd, apr_off_t destoff, 
                               apr_off_t len)
 {
@@ -993,7 +994,11 @@
     apr_size_t size;
     apr_finfo_t finfo;
     apr_time_t starttime = apr_time_now();
-    char buf[CACHE_BUF_SIZE];
+
+    char *buf = apr_palloc(p, CACHE_BUF_SIZE);
+    if (!buf) {
+        return APR_ENOMEM;
+    }
 
     if(srcoff != 0) {
         rc = apr_file_seek(srcfd, APR_SET, &srcoff);
@@ -1178,7 +1183,7 @@
         e = APR_BRIGADE_FIRST(bb);
         a = e->data;
 
-        rv = copy_body(a->fd, e->start, dobj->tfd, 0, 
+        rv = copy_body(r->pool, a->fd, e->start, dobj->tfd, 0, 
                        dobj->file_size);
         if(rv != APR_SUCCESS) {
             ap_log_error(APLOG_MARK, APLOG_ERR, rv, r->server,



Mime
View raw message