]> granicus.if.org Git - apache/commitdiff
Merge from trunk r1547845:
authorJeff Trawick <trawick@apache.org>
Mon, 6 Jan 2014 12:02:38 +0000 (12:02 +0000)
committerJeff Trawick <trawick@apache.org>
Mon, 6 Jan 2014 12:02:38 +0000 (12:02 +0000)
mod_cache_disk: Fix potential hangs on Windows when using mod_cache_disk.

PR: 55833
Submitted by: covener
Reviewed by: jim, trawick

git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/branches/2.4.x@1555721 13f79535-47bb-0310-9956-ffa450edef68

CHANGES
STATUS
modules/cache/mod_cache_disk.c

diff --git a/CHANGES b/CHANGES
index 893a63df0f1716cb8f5efd730f97200ca2c2e873..5d2db0a3031293d64003877e63c6576d4fc5e53f 100644 (file)
--- a/CHANGES
+++ b/CHANGES
@@ -2,6 +2,9 @@
 
 Changes with Apache 2.4.8
 
+  *) mod_cache_disk: Fix potential hangs on Windows when using mod_cache_disk. 
+     PR55833. [Eric Covener]
+
   *) mod_ssl: Add support for OpenSSL configuration commands by introducing
      the SSLOpenSSLConfCmd directive. [Stephen Henson, Kaspar Brand]
 
diff --git a/STATUS b/STATUS
index 8b223aca98cbf0b00eb4404c9a7f5bdf756e9f75..cf3bd95096331fc427b98231193507146fe87282 100644 (file)
--- a/STATUS
+++ b/STATUS
@@ -98,11 +98,6 @@ RELEASE SHOWSTOPPERS:
 PATCHES ACCEPTED TO BACKPORT FROM TRUNK:
   [ start all new proposals below, under PATCHES PROPOSED. ]
 
-  * mod_cache_disk hangs on windows reading from closed files
-    trunk patch: http://svn.apache.org/r1547845
-    2.4.x patch: trunk works
-    +1 covener, jim, trawick
-  
   * mod_ldap: restrict a recent WIN32 change to only apply when the MS SDK is used
     trunk patch: http://svn.apache.org/r1551802
     2.4.x patch: trunk works
index 95ff1fc029054585f5dd519c6699b752d48542ca..ddf6431440c0ec98965e219612999055e01fd3bc 100644 (file)
@@ -529,13 +529,13 @@ static int open_entity(cache_handle_t *h, request_rec *r, const char *key)
         return DECLINED;
     }
 
-    apr_file_close(dobj->hdrs.fd);
 
     /* Is this a cached HEAD request? */
     if (dobj->disk_info.header_only && !r->header_only) {
         ap_log_rerror(APLOG_MARK, APLOG_DEBUG, APR_SUCCESS, r, APLOGNO(00707)
                 "HEAD request cached, non-HEAD requested, ignoring: %s",
                 dobj->hdrs.file);
+        apr_file_close(dobj->hdrs.fd);
         return DECLINED;
     }
 
@@ -593,6 +593,7 @@ static int open_entity(cache_handle_t *h, request_rec *r, const char *key)
             "Cached URL info header '%s' didn't match body, ignoring this entry",
             dobj->name);
 
+    apr_file_close(dobj->hdrs.fd);
     return DECLINED;
 }