You are viewing a plain text version of this content. The canonical link for it is here.
Posted to cvs@httpd.apache.org by co...@apache.org on 2013/12/04 18:09:42 UTC
svn commit: r1547845 - in /httpd/httpd/trunk: CHANGES
modules/cache/mod_cache_disk.c
Author: covener
Date: Wed Dec 4 17:09:42 2013
New Revision: 1547845
URL: http://svn.apache.org/r1547845
Log:
Only close hdrs.fd when returning non-OK from cache_select(),
because it will be read from in the very next mod_cache callback
recall_headers(). Problem masked on unix by buffering.
Modified:
httpd/httpd/trunk/CHANGES
httpd/httpd/trunk/modules/cache/mod_cache_disk.c
Modified: httpd/httpd/trunk/CHANGES
URL: http://svn.apache.org/viewvc/httpd/httpd/trunk/CHANGES?rev=1547845&r1=1547844&r2=1547845&view=diff
==============================================================================
--- httpd/httpd/trunk/CHANGES [utf-8] (original)
+++ httpd/httpd/trunk/CHANGES [utf-8] Wed Dec 4 17:09:42 2013
@@ -1,6 +1,9 @@
-*- coding: utf-8 -*-
Changes with Apache 2.5.0
+ *) mod_cache_disk: Fix potential hangs on Windows when using mod_cache_disk.
+ PR55833. [Eric Covener]
+
*) mod_headers: Allow the "value" parameter of Header and RequestHeader to
contain an ap_expr expression if prefixed with "expr=". [Eric Covener]
Modified: httpd/httpd/trunk/modules/cache/mod_cache_disk.c
URL: http://svn.apache.org/viewvc/httpd/httpd/trunk/modules/cache/mod_cache_disk.c?rev=1547845&r1=1547844&r2=1547845&view=diff
==============================================================================
--- httpd/httpd/trunk/modules/cache/mod_cache_disk.c (original)
+++ httpd/httpd/trunk/modules/cache/mod_cache_disk.c Wed Dec 4 17:09:42 2013
@@ -529,13 +529,13 @@ static int open_entity(cache_handle_t *h
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
"Cached URL info header '%s' didn't match body, ignoring this entry",
dobj->name);
+ apr_file_close(dobj->hdrs.fd);
return DECLINED;
}