diff options
| author | 2021-10-01 03:54:44 +0000 | |
|---|---|---|
| committer | 2021-10-01 03:54:44 +0000 | |
| commit | 248e989b56b0f7dc8c605fc9e1223ba42ba52418 (patch) | |
| tree | 801f467643eaada36366887f54935f0bd2edfc28 /libs/binder/RpcState.cpp | |
| parent | d4d6ff531feb16b9084a2514be0fc847bac26658 (diff) | |
| parent | b910fdcaeeb1fca6505c522b4008be93bb921c82 (diff) | |
Merge "libbinder: RPC simplify flush commands" am: 0204dcc52e am: b910fdcaee
Original change: https://android-review.googlesource.com/c/platform/frameworks/native/+/1842873
Change-Id: Ie6b7c8bc2a77b990da1f89b0b3a2cdb94ba4131b
Diffstat (limited to 'libs/binder/RpcState.cpp')
| -rw-r--r-- | libs/binder/RpcState.cpp | 12 |
1 files changed, 6 insertions, 6 deletions
diff --git a/libs/binder/RpcState.cpp b/libs/binder/RpcState.cpp index b5c6cb091c..ef62f20d9a 100644 --- a/libs/binder/RpcState.cpp +++ b/libs/binder/RpcState.cpp @@ -885,12 +885,6 @@ processTransactInternalTailCall: } } - // Binder refs are flushed for oneway calls only after all calls which are - // built up are executed. Otherwise, they fill up the binder buffer. - if (addr != 0 && replyStatus == OK && !oneway) { - replyStatus = flushExcessBinderRefs(session, addr, target); - } - if (oneway) { if (replyStatus != OK) { ALOGW("Oneway call failed with error: %d", replyStatus); @@ -950,6 +944,12 @@ processTransactInternalTailCall: return OK; } + // Binder refs are flushed for oneway calls only after all calls which are + // built up are executed. Otherwise, they fill up the binder buffer. + if (addr != 0 && replyStatus == OK) { + replyStatus = flushExcessBinderRefs(session, addr, target); + } + LOG_ALWAYS_FATAL_IF(std::numeric_limits<int32_t>::max() - sizeof(RpcWireHeader) - sizeof(RpcWireReply) < reply.dataSize(), |