From: Jeff Trawick Date: Wed, 8 Nov 2000 23:07:32 +0000 (+0000) Subject: When caching file handles (vs. mmaps) reset the file pointer X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=7aede502c74e701c2ac5d5a9d0ddc8d0a6cf6d7a;p=apache When caching file handles (vs. mmaps) reset the file pointer before serving, since a filter may have caused the file pointer to advance. git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@86876 13f79535-47bb-0310-9956-ffa450edef68 --- diff --git a/modules/cache/mod_file_cache.c b/modules/cache/mod_file_cache.c index f8ceed684b..d2c0ee92d3 100644 --- a/modules/cache/mod_file_cache.c +++ b/modules/cache/mod_file_cache.c @@ -401,6 +401,14 @@ static int sendfile_handler(request_rec *r, a_file *file) #if APR_HAS_SENDFILE apr_size_t nbytes; apr_status_t rv = APR_EINIT; + apr_off_t offset = 0; + + rv = apr_seek(file->file, APR_SET, &offset); + if (rv != APR_SUCCESS) { + ap_log_rerror(APLOG_MARK, APLOG_ERR, rv, r, + "seek failed"); + return HTTP_INTERNAL_SERVER_ERROR; + } rv = ap_send_fd(file->file, r, 0, file->finfo.size, &nbytes); if (rv != APR_SUCCESS) {