]> git.ipfire.org Git - thirdparty/ccache.git/commitdiff
fix: Don't exit with error on read failure from cached file (#1036)
author6d5CfLQ3dYAb <6d5CfLQ3dYAb@users.noreply.github.com>
Sat, 26 Mar 2022 08:55:40 +0000 (01:55 -0700)
committerGitHub <noreply@github.com>
Sat, 26 Mar 2022 08:55:40 +0000 (09:55 +0100)
src/ccache.cpp

index a3dade4ca8c81c372fab568dea83ea678fef807b..2105ab84ea0d10fe80402a519313b193f9b87bc8 100644 (file)
@@ -1862,14 +1862,14 @@ from_cache(Context& ctx, FromCacheCallMode mode, const Digest& result_key)
     return false;
   }
 
-  File file(*result_path, "rb");
-  core::FileReader file_reader(file.get());
-  core::CacheEntryReader cache_entry_reader(file_reader);
-  Result::Reader result_reader(cache_entry_reader, *result_path);
-  ResultRetriever result_retriever(
-    ctx, should_rewrite_dependency_target(ctx.args_info));
-
   try {
+    File file(*result_path, "rb");
+    core::FileReader file_reader(file.get());
+    core::CacheEntryReader cache_entry_reader(file_reader);
+    Result::Reader result_reader(cache_entry_reader, *result_path);
+    ResultRetriever result_retriever(
+      ctx, should_rewrite_dependency_target(ctx.args_info));
+
     result_reader.read(result_retriever);
   } catch (core::Error& e) {
     LOG("Failed to get result from cache: {}", e.what());