don't close cache manifest file prematurely

ErrorInvalidFormat is not a fatal error so don't close the cache
manifest file right away but instead let cache_final() handle it.

Fixes the following (very common) warning when running the test suite:

    Warning: Unable to write cache file [..]: unexpected seek failure

The seek failure is an lseek() system call that failed with EBADF
because the file descriptor had already been closed.
master
Ben Noordhuis 2019-04-13 12:33:29 +02:00
parent ea5518f69e
commit 93e89b3b7e
1 changed files with 1 additions and 1 deletions

View File

@ -437,7 +437,7 @@ Error cache_hit(CacheHash *ch, Buf *out_digest) {
return ErrorCacheUnavailable;
}
}
if (return_code != ErrorNone) {
if (return_code != ErrorNone && return_code != ErrorInvalidFormat) {
os_file_close(&ch->manifest_file);
}
return return_code;