summaryrefslogtreecommitdiff
path: root/libs/binder/RpcServer.cpp
diff options
context:
space:
mode:
author Steven Moreland <smoreland@google.com> 2021-06-10 19:42:32 +0000
committer Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com> 2021-06-10 19:42:32 +0000
commite2347131c5f507ac8d33ffed8ef584f5612d119d (patch)
tree5ae9c7539061131561288ed094d17ec86310aa64 /libs/binder/RpcServer.cpp
parent6c823504fcba3d3c74adcf4edd7bfda56d7face6 (diff)
parent936fc19aa0ca565dc0903c577658676ad76575b7 (diff)
Merge changes Id38049ed,I13bc9126,I9fbc7594 am: 936fc19aa0
Original change: https://android-review.googlesource.com/c/platform/frameworks/native/+/1729615 Change-Id: Iaf50c712f933f5a4f88c49b33177e54d046cb959
Diffstat (limited to 'libs/binder/RpcServer.cpp')
-rw-r--r--libs/binder/RpcServer.cpp6
1 files changed, 4 insertions, 2 deletions
diff --git a/libs/binder/RpcServer.cpp b/libs/binder/RpcServer.cpp
index 2d2eed2671..60be406f6f 100644
--- a/libs/binder/RpcServer.cpp
+++ b/libs/binder/RpcServer.cpp
@@ -307,13 +307,15 @@ void RpcServer::establishConnection(sp<RpcServer>&& server, base::unique_fd clie
}
detachGuard.Disable();
- session->preJoin(std::move(thisThread));
+ session->preJoinThreadOwnership(std::move(thisThread));
}
+ auto setupResult = session->preJoinSetup(std::move(clientFd));
+
// avoid strong cycle
server = nullptr;
- RpcSession::join(std::move(session), std::move(clientFd));
+ RpcSession::join(std::move(session), std::move(setupResult));
}
bool RpcServer::setupSocketServer(const RpcSocketAddress& addr) {