diff options
Diffstat (limited to '')
-rw-r--r-- | error_code.h | 3 | ||||
-rw-r--r-- | install.cpp | 3 |
2 files changed, 6 insertions, 0 deletions
diff --git a/error_code.h b/error_code.h index 4cbad4cfe..4e3032bc9 100644 --- a/error_code.h +++ b/error_code.h @@ -25,6 +25,9 @@ enum ErrorCode { kBootreasonInBlacklist, kPackageCompatibilityFailure, kScriptExecutionFailure, + kMapFileFailure, + kForkUpdateBinaryFailure, + kUpdateBinaryCommandFailure, }; enum CauseCode { diff --git a/install.cpp b/install.cpp index 7fbf5c01f..80ef71541 100644 --- a/install.cpp +++ b/install.cpp @@ -321,6 +321,7 @@ static int try_update_binary(const std::string& package, ZipArchiveHandle zip, b if (ret) { close(pipefd[0]); close(pipefd[1]); + log_buffer->push_back(android::base::StringPrintf("error: %d", kUpdateBinaryCommandFailure)); return ret; } @@ -385,6 +386,7 @@ static int try_update_binary(const std::string& package, ZipArchiveHandle zip, b close(pipefd[0]); close(pipefd[1]); PLOG(ERROR) << "Failed to fork update binary"; + log_buffer->push_back(android::base::StringPrintf("error: %d", kForkUpdateBinaryFailure)); return INSTALL_ERROR; } @@ -573,6 +575,7 @@ static int really_install_package(const std::string& path, bool* wipe_cache, boo MemMapping map; if (!map.MapFile(path)) { LOG(ERROR) << "failed to map file"; + log_buffer->push_back(android::base::StringPrintf("error: %d", kMapFileFailure)); return INSTALL_CORRUPT; } |