summaryrefslogtreecommitdiff
path: root/libs/binder/TextOutput.cpp
diff options
context:
space:
mode:
author Steven Moreland <smoreland@google.com> 2021-09-27 17:15:56 -0700
committer Steven Moreland <smoreland@google.com> 2021-09-27 17:57:51 -0700
commit43921d5d92d6e27bf1ec00de062746f032268717 (patch)
tree28dae23f52720757a983baac9c5a6ba6d8a986ec /libs/binder/TextOutput.cpp
parent301c3f0c79469f976e86cd3ad3fd73d58d26b61d (diff)
libbinder: RPC handle builtup refcounts
Generally, in the binder RPC wire protocol, we don't have both the clients and the servers writing data into sockets. However, in the case of async transactions, this happens in an unbounded way because a client may send many oneway transactions, and the server will be sending back refcounting information related to these transactions (which we process lazily). In order to prevent this from building up, when sending a transaction, if we're unable to write it, instead of waiting, drain that reference counting information. Bug: 182940634 Test: binderRpcTest (no longer deadlocks in OnewayStressTest) Test: manually check 'drainCommands' happens in both raw and tls cases during this test (checking we are actually getting coverage) Change-Id: I82039d6188196261b22316e95d8e180c4c33ae73
Diffstat (limited to 'libs/binder/TextOutput.cpp')
0 files changed, 0 insertions, 0 deletions