diff options
author | Jeff Tinker <jtinker@google.com> | 2013-06-11 11:30:21 -0700 |
---|---|---|
committer | The Android Automerger <android-build@android.com> | 2013-06-12 14:29:31 -0700 |
commit | 0c9a590efae5c17792b8f2df1657ef79b0b66a2e (patch) | |
tree | 3412be488fcd05ff8af86f1e528a6fd9bc36ebc0 | |
parent | 3042131d29ca0a283a8945eb8a46242a731b0f42 (diff) | |
download | frameworks_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.cpp | 4 |
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 |