summaryrefslogtreecommitdiff
path: root/libs/binder/RpcState.cpp
diff options
context:
space:
mode:
author Andrei Homescu <ahomescu@google.com> 2023-02-25 05:03:31 +0000
committer Andrei Homescu <ahomescu@google.com> 2023-03-01 01:38:02 +0000
commitae5f0d1a74b0ea04656ec71d8a1d300236235af2 (patch)
tree3b355ea33fc8b334e89a744eb0c65e19fe52a7a0 /libs/binder/RpcState.cpp
parent5f2bc56da8edbcc328b213f783d5b494ae0fa26e (diff)
Revert "Revert "libbinder: Flush excess refs after single async transaction""
This reverts commit 655d5710fdb42524376649df0ef9953437479cd6. Reason for revert: fixed OnewayCallQueuingWithFds Bug: 259517277 Test: binderRpcTestNoKernel --gtest_filter="*OnewayCallQueueingWithFds*" --gtest_repeat=10 --gtest_break_on_failure Change-Id: I7c6440232dbed2b1b808de64ddb23a4292c96428
Diffstat (limited to 'libs/binder/RpcState.cpp')
-rw-r--r--libs/binder/RpcState.cpp4
1 files changed, 2 insertions, 2 deletions
diff --git a/libs/binder/RpcState.cpp b/libs/binder/RpcState.cpp
index b27f1028d4..1ea13f9a1c 100644
--- a/libs/binder/RpcState.cpp
+++ b/libs/binder/RpcState.cpp
@@ -1036,8 +1036,8 @@ processTransactInternalTailCall:
return DEAD_OBJECT;
}
- if (it->second.asyncTodo.size() == 0) return OK;
- if (it->second.asyncTodo.top().asyncNumber == it->second.asyncNumber) {
+ if (it->second.asyncTodo.size() != 0 &&
+ it->second.asyncTodo.top().asyncNumber == it->second.asyncNumber) {
LOG_RPC_DETAIL("Found next async transaction %" PRIu64 " on %" PRIu64,
it->second.asyncNumber, addr);