Flush Binder commands in ndk looper.

Bug: 3258183
Change-Id: Id79757d7b5c98333b4d3f39ce79ecc76b7be6941
This commit is contained in:
Jeff Brown
2011-01-10 14:36:37 -08:00
parent 115ad16551
commit 977f64f04e

View File

@@ -19,9 +19,11 @@
#include <android/looper.h>
#include <utils/Looper.h>
#include <binder/IPCThreadState.h>
using android::Looper;
using android::sp;
using android::IPCThreadState;
ALooper* ALooper_forThread() {
return Looper::getForThread().get();
@@ -46,6 +48,7 @@ int ALooper_pollOnce(int timeoutMillis, int* outFd, int* outEvents, void** outDa
return ALOOPER_POLL_ERROR;
}
IPCThreadState::self()->flushCommands();
return looper->pollOnce(timeoutMillis, outFd, outEvents, outData);
}
@@ -55,7 +58,8 @@ int ALooper_pollAll(int timeoutMillis, int* outFd, int* outEvents, void** outDat
LOGE("ALooper_pollAll: No looper for this thread!");
return ALOOPER_POLL_ERROR;
}
IPCThreadState::self()->flushCommands();
return looper->pollAll(timeoutMillis, outFd, outEvents, outData);
}