diff options
| author | 2010-08-31 15:06:24 -0700 | |
|---|---|---|
| committer | 2010-08-31 15:06:24 -0700 | |
| commit | 1423f51ec5fe2c9bf5fa44866443b2c52db165be (patch) | |
| tree | 0ab080b873257293730980e9d2479045a1af2e2e /libs/binder/IPCThreadState.cpp | |
| parent | fdf5b0808ff6f6a3c067dab17a9533cfd66229f1 (diff) | |
| parent | ae087369c56a270c33c1c1af5be7d3c5d7f94e80 (diff) | |
am ae087369: am 63070856: Merge "Don\'t propagate StrictMode over one-way Binder calls." into gingerbread
Merge commit 'ae087369c56a270c33c1c1af5be7d3c5d7f94e80'
* commit 'ae087369c56a270c33c1c1af5be7d3c5d7f94e80':
Don't propagate StrictMode over one-way Binder calls.
Diffstat (limited to 'libs/binder/IPCThreadState.cpp')
| -rw-r--r-- | libs/binder/IPCThreadState.cpp | 22 |
1 files changed, 17 insertions, 5 deletions
diff --git a/libs/binder/IPCThreadState.cpp b/libs/binder/IPCThreadState.cpp index f6582e6aa249..a3e117f453d2 100644 --- a/libs/binder/IPCThreadState.cpp +++ b/libs/binder/IPCThreadState.cpp @@ -377,6 +377,16 @@ int32_t IPCThreadState::getStrictModePolicy() const return mStrictModePolicy; } +void IPCThreadState::setLastTransactionBinderFlags(int32_t flags) +{ + mLastTransactionBinderFlags = flags; +} + +int32_t IPCThreadState::getLastTransactionBinderFlags() const +{ + return mLastTransactionBinderFlags; +} + void IPCThreadState::restoreCallingIdentity(int64_t token) { mCallingUid = (int)(token>>32); @@ -598,8 +608,10 @@ status_t IPCThreadState::clearDeathNotification(int32_t handle, BpBinder* proxy) } IPCThreadState::IPCThreadState() - : mProcess(ProcessState::self()), mMyThreadId(androidGetTid()), - mStrictModePolicy(0) + : mProcess(ProcessState::self()), + mMyThreadId(androidGetTid()), + mStrictModePolicy(0), + mLastTransactionBinderFlags(0) { pthread_setspecific(gTLS, this); clearCaller(); @@ -983,11 +995,11 @@ status_t IPCThreadState::executeCommand(int32_t cmd) } if (tr.target.ptr) { sp<BBinder> b((BBinder*)tr.cookie); - const status_t error = b->transact(tr.code, buffer, &reply, 0); + const status_t error = b->transact(tr.code, buffer, &reply, tr.flags); if (error < NO_ERROR) reply.setError(error); - + } else { - const status_t error = the_context_object->transact(tr.code, buffer, &reply, 0); + const status_t error = the_context_object->transact(tr.code, buffer, &reply, tr.flags); if (error < NO_ERROR) reply.setError(error); } |