summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJeff Tinker <jtinker@google.com>2013-06-11 11:30:21 -0700
committerThe Android Automerger <android-build@android.com>2013-06-12 14:29:31 -0700
commit0c9a590efae5c17792b8f2df1657ef79b0b66a2e (patch)
tree3412be488fcd05ff8af86f1e528a6fd9bc36ebc0
parent3042131d29ca0a283a8945eb8a46242a731b0f42 (diff)
downloadframeworks_native-0c9a590efae5c17792b8f2df1657ef79b0b66a2e.zip
frameworks_native-0c9a590efae5c17792b8f2df1657ef79b0b66a2e.tar.gz
frameworks_native-0c9a590efae5c17792b8f2df1657ef79b0b66a2e.tar.bz2
Prevent IPCThreadState::joinThreadPool from spinning on unexpected errorandroid-4.3_r0.9.1android-4.3_r0.9
Adds logging to help determine what is happening to the /dev/binder fd and dump the process state when it happens. bug: 8912673 Change-Id: I2aa0c66fc499e91e0bf9ee4ae20404bec35adc82
-rw-r--r--libs/binder/IPCThreadState.cpp4
1 files changed, 4 insertions, 0 deletions
diff --git a/libs/binder/IPCThreadState.cpp b/libs/binder/IPCThreadState.cpp
index 6e83faa..2ffa927 100644
--- a/libs/binder/IPCThreadState.cpp
+++ b/libs/binder/IPCThreadState.cpp
@@ -466,6 +466,10 @@ void IPCThreadState::joinThreadPool(bool isMain)
result = executeCommand(cmd);
+ } else if (result != TIMED_OUT && result != -ECONNREFUSED && result != -EBADF) {
+ ALOGE("talkWithDriver(fd=%d) returned unexpected error %d, aborting",
+ mProcess->mDriverFD, result);
+ abort();
}
// After executing the command, ensure that the thread is returned to the