summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
author Steven Moreland <smoreland@google.com> 2021-09-28 18:30:50 +0000
committer Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com> 2021-09-28 18:30:50 +0000
commit2d5b070bcfe8c632edb7bbd947f2dc45255fa342 (patch)
tree615110f6541a501f2da043a56bab1f71180e601b
parent4803725c73a873ed80b8bc9fa74c389bea3eca9f (diff)
parent7ee567036ff92c697dd4e7c7d4700d62f9cc3379 (diff)
Merge "libbinder: RPC avoid FdTrigger shutdown race" am: 13ba6f3c3f am: f2e316ac20 am: 650484d2c9 am: 02e20295f5 am: 7ee567036f
Original change: https://android-review.googlesource.com/c/platform/frameworks/native/+/1838242 Change-Id: I6e78354df42387e97355bbf2427bfe10380314dd
-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();
}