summaryrefslogtreecommitdiff
path: root/libs/binder/RpcSession.cpp
diff options
context:
space:
mode:
author Andrei Homescu <ahomescu@google.com> 2022-08-23 00:33:15 +0000
committer Andrei Homescu <ahomescu@google.com> 2022-08-23 00:43:56 +0000
commit77ddf62ef1045e9f441af0cb971bf05fe62fe977 (patch)
tree5ce8bd1ef2d1f7022533b946ccef0fa8c261269f /libs/binder/RpcSession.cpp
parentb503c1a53f34b83121a361cf0e5acd3f53675236 (diff)
libbinder: clear RpcSession::mStartedSetup in case of error
Clear the mStartedSetup flag in case of error return from RpcSession::setupClient and its callees so that the setup can be retried and/or the RpcSession reused. Bug: 242473043 Test: m Change-Id: I4fa99ab9eb136756ee7344c73f2b3f57a7412e3f
Diffstat (limited to 'libs/binder/RpcSession.cpp')
-rw-r--r--libs/binder/RpcSession.cpp3
1 files changed, 3 insertions, 0 deletions
diff --git a/libs/binder/RpcSession.cpp b/libs/binder/RpcSession.cpp
index d347262040..8ddfa93c00 100644
--- a/libs/binder/RpcSession.cpp
+++ b/libs/binder/RpcSession.cpp
@@ -484,6 +484,9 @@ status_t RpcSession::setupClient(const std::function<status_t(const std::vector<
mProtocolVersion = oldProtocolVersion;
mConnections = {};
+
+ // clear mStartedSetup so that we can reuse this RpcSession
+ mStartedSetup = false;
});
if (status_t status = connectAndInit({}, false /*incoming*/); status != OK) return status;