binderRpcTest: threadpool race leak
SessionWithIncomingThreadpoolDoesntLeak is flaking at 0.02%.
This is another small fix to avoid noise in the tests. It's
not great, but we know it works because OnewayCallExhaustion
uses this solution and does not flake.
Bug: 285206261
Test: binderRpcTest --gtest_filter="*SessionWithIncomingThreadpoolDoesntLeak*"
Change-Id: I8a1678e9633db71cb4afda2f0f5c108ca784f803
diff --git a/libs/binder/tests/binderRpcTest.cpp b/libs/binder/tests/binderRpcTest.cpp
index 1ff1de4..d352ce5 100644
--- a/libs/binder/tests/binderRpcTest.cpp
+++ b/libs/binder/tests/binderRpcTest.cpp
@@ -691,7 +691,11 @@
EXPECT_EQ(nullptr, session.promote());
- sleep(1); // give time for remote session to shutdown
+ // now that it has died, wait for the remote session to shutdown
+ std::vector<int32_t> remoteCounts;
+ do {
+ EXPECT_OK(proc.rootIface->countBinders(&remoteCounts));
+ } while (remoteCounts.size() > 1);
}
TEST_P(BinderRpc, SingleDeathRecipient) {