summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
author Treehugger Robot <android-test-infra-autosubmit@system.gserviceaccount.com> 2025-01-29 12:13:02 -0800
committer Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com> 2025-01-29 12:13:02 -0800
commit78565e1a7af58778b10a270925d20fe51540ab01 (patch)
tree0b7d0ac6724d1d9aba2231649791aead400070f9
parent98229211f1348e41c5da5a50536e8aa86e4d823c (diff)
parent2f9249f160ac0abb85bb124601922c3edb3d7b86 (diff)
Merge "Flush output buffers when command is complete" into main am: d3485542a1 am: 2f9249f160
Original change: https://android-review.googlesource.com/c/platform/frameworks/base/+/2882963 Change-Id: I4ca46f08f5d848bec923a5254585c1c78c4a5c8c Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
-rw-r--r--core/java/com/android/internal/os/BaseCommand.java10
1 files changed, 9 insertions, 1 deletions
diff --git a/core/java/com/android/internal/os/BaseCommand.java b/core/java/com/android/internal/os/BaseCommand.java
index c85b5d7aa7a6..af763e4c5fa9 100644
--- a/core/java/com/android/internal/os/BaseCommand.java
+++ b/core/java/com/android/internal/os/BaseCommand.java
@@ -58,15 +58,23 @@ public abstract class BaseCommand {
mRawArgs = args;
mArgs.init(null, null, null, null, args, 0);
+ int status = 1;
try {
onRun();
+ status = 0;
} catch (IllegalArgumentException e) {
onShowUsage(System.err);
System.err.println();
System.err.println("Error: " + e.getMessage());
+ status = 0;
} catch (Exception e) {
e.printStackTrace(System.err);
- System.exit(1);
+ } finally {
+ System.out.flush();
+ System.err.flush();
+ }
+ if (status != 0) {
+ System.exit(status);
}
}