On 23 Nov 2010, at 8:21 PM, Dan Poirier wrote:

We're seeing errors like this from mod_disk_cache on Windows only:

(OS 5)Access is denied.  : disk_cache: rename tempfile to datafile
failed: c:/temp/HTTPServer7/aptmpV0JKJ8 ->
c:/temp/HTTPServer7/wHY/FhW/b...@muvttlk@V4w.data

under moderate to heavy load, resulting in requests failing.

Looking at the code, the error message is thrown when apr_file_rename() fails, specifically when a temporary file is swung into place in the cache.

Looking at the APR code, there is a forest of ifdefs that seem to choose one of MoveFileEx(), MoveFileW(), MoveFileExW() or MoveFile(). Ideally, the Microsoft API documentation should explain under what conditions the error "Access is denied" is thrown.

Does Windows allow you to move a file into place while the replaced file is still open for read?

Regards,
Graham
--

Reply via email to