authorgravatar for info@bnoordhuis.nlBen Noordhuis <info@bnoordhuis.nl> 2019-04-13 12:33:29+02:00
committergravatar for info@bnoordhuis.nlBen Noordhuis <info@bnoordhuis.nl> 2019-04-13 12:33:29+02:00
log93e89b3b7efeaa41f4f11fbb022b962d2244dab2
tree34229967212bca0f7ae05d6d34f91483cc4758dc
parentea5518f69edc51e8e70c2c4d4c4daa3ad9bcb242

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.

1 files changed, 1 insertions(+), 1 deletions(-)

src/cache_hash.cpp+1-1
......@@ -437,7 +437,7 @@ Error cache_hit(CacheHash *ch, Buf *out_digest) {
437437 return ErrorCacheUnavailable;
438438 }
439439 }
440 if (return_code != ErrorNone) {
440 if (return_code != ErrorNone && return_code != ErrorInvalidFormat) {
441441 os_file_close(&ch->manifest_file);
442442 }
443443 return return_code;