summaryrefslogtreecommitdiffstats
path: root/include
diff options
context:
space:
mode:
authorTodd Poynor <toddpoynor@google.com>2013-06-25 19:12:18 -0700
committerTodd Poynor <toddpoynor@google.com>2013-07-04 00:19:09 +0000
commit8d96cab8bfc1b40a8e05c6f43b485750a5ae0a52 (patch)
tree1443a4c1b0047c315e1ef2f94dbfee668e707af4 /include
parent3e5fa73722c100fc9017c7a47b17a8e727aa34e1 (diff)
downloadframeworks_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')
-rw-r--r--include/binder/IPCThreadState.h4
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();