summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
author Steven Moreland <smoreland@google.com> 2021-09-28 17:19:46 +0000
committer Gerrit Code Review <noreply-gerritcodereview@google.com> 2021-09-28 17:19:46 +0000
commit13ba6f3c3fef163b74f33092cdd3ed63c25e2bb3 (patch)
treeb9b69b53d0db29364441f19e4f89deb850299106
parent76473a118dea4212397eeb8ed89b2a31e980c857 (diff)
parentab3f442e84cbb7dfd21197ee452c3b480eda481f (diff)
Merge "libbinder: RPC avoid FdTrigger shutdown race"
-rw-r--r--libs/binder/RpcServer.cpp3
1 files changed, 3 insertions, 0 deletions
diff --git a/libs/binder/RpcServer.cpp b/libs/binder/RpcServer.cpp
index 5733993b3b..4c61a5902f 100644
--- a/libs/binder/RpcServer.cpp
+++ b/libs/binder/RpcServer.cpp
@@ -205,8 +205,11 @@ bool RpcServer::shutdown() {
}
mShutdownTrigger->trigger();
+
for (auto& [id, session] : mSessions) {
(void)id;
+ // server lock is a more general lock
+ std::lock_guard<std::mutex> _lSession(session->mMutex);
session->mShutdownTrigger->trigger();
}