Stop hwbinder threads from app_process.

To prevent it from hanging up.

Bug: 37500397
Bug: 34085250
Test: DismissDialogsInstrumentation test
Change-Id: Ia69f6a5676666bc9286272b82f242d7b1d0ee286
This commit is contained in:
Martijn Coenen
2017-04-19 16:40:49 -07:00
parent f9f8120e56
commit b69ffdb207
2 changed files with 4 additions and 1 deletions

View File

@@ -5,6 +5,7 @@ app_process_common_shared_libs := \
libbinder \
libcutils \
libdl \
libhwbinder \
liblog \
libnativeloader \
libutils \

View File

@@ -14,7 +14,7 @@
#include <unistd.h>
#include <binder/IPCThreadState.h>
#include <binder/ProcessState.h>
#include <hwbinder/IPCThreadState.h>
#include <utils/Log.h>
#include <cutils/memory.h>
#include <cutils/properties.h>
@@ -85,6 +85,7 @@ public:
ar->callMain(mClassName, mClass, mArgs);
IPCThreadState::self()->stopProcess();
hardware::IPCThreadState::self()->stopProcess();
}
virtual void onZygoteInit()
@@ -99,6 +100,7 @@ public:
if (mClassName.isEmpty()) {
// if zygote
IPCThreadState::self()->stopProcess();
hardware::IPCThreadState::self()->stopProcess();
}
AndroidRuntime::onExit(code);