diff options
Diffstat (limited to 'odrefresh/odrefresh.cc')
-rw-r--r-- | odrefresh/odrefresh.cc | 28 |
1 files changed, 13 insertions, 15 deletions
diff --git a/odrefresh/odrefresh.cc b/odrefresh/odrefresh.cc index 733e22f99d..6a09a88a4e 100644 --- a/odrefresh/odrefresh.cc +++ b/odrefresh/odrefresh.cc @@ -1872,24 +1872,22 @@ OnDeviceRefresh::RunDex2oatForBootClasspath(const std::string& staging_dir, args.Add(StringPrintf("--base=0x%08x", ART_BASE_ADDRESS)); - for (const std::string& prefix : {GetAndroidRoot(), GetArtRoot()}) { - std::string dirty_image_objects_file = prefix + "/etc/dirty-image-objects"; - std::unique_ptr<File> file(OS::OpenFileForReading(dirty_image_objects_file.c_str())); - if (file != nullptr) { - args.Add("--dirty-image-objects-fd=%d", file->Fd()); - readonly_files_raii.push_back(std::move(file)); - } else if (errno == ENOENT) { - LOG(WARNING) << ART_FORMAT("Missing dirty objects file '{}'", dirty_image_objects_file); - } else { - return CompilationResult::Error(OdrMetrics::Status::kIoError, - ART_FORMAT("Failed to open dirty objects file '{}': {}", - dirty_image_objects_file, - strerror(errno))); - } + std::string dirty_image_objects_file(GetAndroidRoot() + "/etc/dirty-image-objects"); + std::unique_ptr<File> file(OS::OpenFileForReading(dirty_image_objects_file.c_str())); + if (file != nullptr) { + args.Add("--dirty-image-objects-fd=%d", file->Fd()); + readonly_files_raii.push_back(std::move(file)); + } else if (errno == ENOENT) { + LOG(WARNING) << ART_FORMAT("Missing dirty objects file '{}'", dirty_image_objects_file); + } else { + return CompilationResult::Error(OdrMetrics::Status::kIoError, + ART_FORMAT("Failed to open dirty objects file '{}': {}", + dirty_image_objects_file, + strerror(errno))); } std::string preloaded_classes_file(GetAndroidRoot() + "/etc/preloaded-classes"); - std::unique_ptr<File> file(OS::OpenFileForReading(preloaded_classes_file.c_str())); + file.reset(OS::OpenFileForReading(preloaded_classes_file.c_str())); if (file != nullptr) { args.Add("--preloaded-classes-fds=%d", file->Fd()); readonly_files_raii.push_back(std::move(file)); |