From: Jakub Narebski Date: Sun, 5 Dec 2010 20:48:50 +0000 (+0100) Subject: gitweb/lib - Regenerate entry if the cache file has size of 0 X-Git-Url: https://repo.or.cz/w/git/jnareb-git.git/commitdiff_plain/93464ea4b4f0f573740bed91d0f2a1da9c1fe512 gitweb/lib - Regenerate entry if the cache file has size of 0 If the file representing cache entry has size 0 (in bytes), the cache entry is considered invalid, regardless of its freshness, even if cache expiration is turned off. [jh: This is a quick, and thankfully easy, check to regenerate the cache if the resulting file is of size 0. This *SHOULDN'T* happen, but it is possible that it could and thus adding the check.] Based-on-commit-by: John 'Warthog9' Hawley Signed-off-by: Jakub Narebski --- diff --git a/gitweb/lib/GitwebCache/SimpleFileCache.pm b/gitweb/lib/GitwebCache/SimpleFileCache.pm index 790383d2cd..bf74f7cd8e 100644 --- a/gitweb/lib/GitwebCache/SimpleFileCache.pm +++ b/gitweb/lib/GitwebCache/SimpleFileCache.pm @@ -310,6 +310,8 @@ sub is_valid { # get its modification time my $mtime = (stat(_))[9] # _ to reuse stat structure used in -f test or die "Couldn't stat file '$path': $!"; + # cache entry is invalid if it is size 0 (in bytes) + return 0 unless ((stat(_))[7] > 0); # expire time can be set to never my $expires_in = $self->get_expires_in();