diff options
author | Todd Poynor <toddpoynor@google.com> | 2013-06-25 19:12:18 -0700 |
---|---|---|
committer | Todd Poynor <toddpoynor@google.com> | 2013-07-04 00:19:09 +0000 |
commit | 8d96cab8bfc1b40a8e05c6f43b485750a5ae0a52 (patch) | |
tree | 1443a4c1b0047c315e1ef2f94dbfee668e707af4 /include/binder | |
parent | 3e5fa73722c100fc9017c7a47b17a8e727aa34e1 (diff) | |
download | frameworks_native-8d96cab8bfc1b40a8e05c6f43b485750a5ae0a52.zip frameworks_native-8d96cab8bfc1b40a8e05c6f43b485750a5ae0a52.tar.gz frameworks_native-8d96cab8bfc1b40a8e05c6f43b485750a5ae0a52.tar.bz2 |
binder: add polling / single-threaded operation
This is currently safe to do only for processes that disallow any binder
threads to be created: setThreadPoolMaxThreadCount(0).
Change-Id: I8a27f3cf26f4d51edb7f222af487ac256cbcab65
Diffstat (limited to 'include/binder')
-rw-r--r-- | include/binder/IPCThreadState.h | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/include/binder/IPCThreadState.h b/include/binder/IPCThreadState.h index 3378d97..ad0daee 100644 --- a/include/binder/IPCThreadState.h +++ b/include/binder/IPCThreadState.h @@ -51,6 +51,8 @@ public: int64_t clearCallingIdentity(); void restoreCallingIdentity(int64_t token); + int setupPolling(int* fd); + status_t handlePolledCommands(); void flushCommands(); void joinThreadPool(bool isMain = true); @@ -96,7 +98,9 @@ private: uint32_t code, const Parcel& data, status_t* statusBuffer); + status_t getAndExecuteCommand(); status_t executeCommand(int32_t command); + void processPendingDerefs(); void clearCaller(); |