diff options
| author | 2021-06-10 19:42:32 +0000 | |
|---|---|---|
| committer | 2021-06-10 19:42:32 +0000 | |
| commit | e2347131c5f507ac8d33ffed8ef584f5612d119d (patch) | |
| tree | 5ae9c7539061131561288ed094d17ec86310aa64 /libs/binder/RpcServer.cpp | |
| parent | 6c823504fcba3d3c74adcf4edd7bfda56d7face6 (diff) | |
| parent | 936fc19aa0ca565dc0903c577658676ad76575b7 (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.cpp | 6 |
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) { |