binder: RpcTranpsortCtx::newTransport Add FdTrigger arg.
For TLS, creating a new RpcTransport object may require I/O.
Make them interruptable by providing an FdTrigger argument.
Test: binderRpcTest
Bug: 190868302
Change-Id: I63a6655f50d1b2fa5a484860ec422021e88de3e5
diff --git a/libs/binder/RpcSession.cpp b/libs/binder/RpcSession.cpp
index 7799da2..4ee0128 100644
--- a/libs/binder/RpcSession.cpp
+++ b/libs/binder/RpcSession.cpp
@@ -160,7 +160,7 @@
ALOGE("Unable to create RpcTransportCtx for null debugging client");
return NO_MEMORY;
}
- auto server = ctx->newTransport(std::move(serverFd));
+ auto server = ctx->newTransport(std::move(serverFd), mShutdownTrigger.get());
if (server == nullptr) {
ALOGE("Unable to set up RpcTransport");
return UNKNOWN_ERROR;
@@ -536,7 +536,7 @@
mRpcTransportCtxFactory->toCString());
return NO_MEMORY;
}
- auto server = ctx->newTransport(std::move(fd));
+ auto server = ctx->newTransport(std::move(fd), mShutdownTrigger.get());
if (server == nullptr) {
ALOGE("Unable to set up RpcTransport in %s context", mRpcTransportCtxFactory->toCString());
return UNKNOWN_ERROR;