From 924915bacd4a3d08dd095fbe9da48ab2936d972c Mon Sep 17 00:00:00 2001 From: Yurii Zubrytskyi Date: Tue, 2 Jun 2020 23:38:51 -0700 Subject: [PATCH] adb: treat non-successful inc-server runs as failures This way if an unknown device returns anything but a clear success report from an incremental installation adb would retry non-incrementally Bug: 158006039 Test: manual install on R and Q Change-Id: I9950273bd60ba75fe12a3706d2ccbee136987d13 --- adb/client/incremental.cpp | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) diff --git a/adb/client/incremental.cpp b/adb/client/incremental.cpp index 1e985ed95..3033059d0 100644 --- a/adb/client/incremental.cpp +++ b/adb/client/incremental.cpp @@ -180,7 +180,7 @@ std::optional install(const Files& files, const Args& passthrough_args, int print_fds[2]; if (adb_socketpair(print_fds) != 0) { if (!silent) { - fprintf(stderr, "Failed to create socket pair for child to print to parent\n"); + fprintf(stderr, "adb: failed to create socket pair for child to print to parent\n"); } return {}; } @@ -207,10 +207,15 @@ std::optional install(const Files& files, const Args& passthrough_args, Result result = wait_for_installation(pipe_read_fd); adb_close(pipe_read_fd); - if (result == Result::Success) { - // adb client exits now but inc-server can continue - serverKiller.release(); + if (result != Result::Success) { + if (!silent) { + fprintf(stderr, "adb: install command failed"); + } + return {}; } + + // adb client exits now but inc-server can continue + serverKiller.release(); return child; }