adbd: don't leave zombies when subprocess creation fails.
Bug: http://b/26660675
Change-Id: I8e65d51af73f409c30be47575f76bc6b0f227c54
diff --git a/adb/shell_service.cpp b/adb/shell_service.cpp
index 366ed07..95dff11 100644
--- a/adb/shell_service.cpp
+++ b/adb/shell_service.cpp
@@ -233,6 +233,7 @@
}
Subprocess::~Subprocess() {
+ WaitForExit();
}
bool Subprocess::ForkAndExec() {
@@ -432,7 +433,6 @@
"shell srvc %d", subprocess->local_socket_fd()));
subprocess->PassDataStreams();
- subprocess->WaitForExit();
D("deleting Subprocess for PID %d", subprocess->pid());
delete subprocess;