Loading libs/binder/FdTrigger.cpp +1 −1 Original line number Diff line number Diff line Loading @@ -54,7 +54,7 @@ bool FdTrigger::isTriggered() { #endif } status_t FdTrigger::triggerablePoll(const android::TransportFd& transportFd, int16_t event) { status_t FdTrigger::triggerablePoll(const android::RpcTransportFd& transportFd, int16_t event) { #ifdef BINDER_RPC_SINGLE_THREADED if (mTriggered) { return DEAD_OBJECT; Loading libs/binder/FdTrigger.h +2 −1 Original line number Diff line number Diff line Loading @@ -55,7 +55,8 @@ public: * true - time to read! * false - trigger happened */ [[nodiscard]] status_t triggerablePoll(const android::TransportFd& transportFd, int16_t event); [[nodiscard]] status_t triggerablePoll(const android::RpcTransportFd& transportFd, int16_t event); private: #ifdef BINDER_RPC_SINGLE_THREADED Loading libs/binder/RpcServer.cpp +3 −3 Original line number Diff line number Diff line Loading @@ -194,7 +194,7 @@ void RpcServer::join() { static_assert(addr.size() >= sizeof(sockaddr_storage), "kRpcAddressSize is too small"); socklen_t addrLen = addr.size(); TransportFd clientSocket(unique_fd(TEMP_FAILURE_RETRY( RpcTransportFd clientSocket(unique_fd(TEMP_FAILURE_RETRY( accept4(mServer.fd.get(), reinterpret_cast<sockaddr*>(addr.data()), &addrLen, SOCK_CLOEXEC | SOCK_NONBLOCK)))); Loading Loading @@ -296,7 +296,7 @@ size_t RpcServer::numUninitializedSessions() { } void RpcServer::establishConnection( sp<RpcServer>&& server, TransportFd clientFd, std::array<uint8_t, kRpcAddressSize> addr, sp<RpcServer>&& server, RpcTransportFd clientFd, std::array<uint8_t, kRpcAddressSize> addr, size_t addrLen, std::function<void(sp<RpcSession>&&, RpcSession::PreJoinSetupResult&&)>&& joinFn) { // mShutdownTrigger can only be cleared once connection threads have joined. Loading Loading @@ -488,7 +488,7 @@ status_t RpcServer::setupSocketServer(const RpcSocketAddress& addr) { LOG_RPC_DETAIL("Setting up socket server %s", addr.toString().c_str()); LOG_ALWAYS_FATAL_IF(hasServer(), "Each RpcServer can only have one server."); TransportFd transportFd(unique_fd(TEMP_FAILURE_RETRY( RpcTransportFd transportFd(unique_fd(TEMP_FAILURE_RETRY( socket(addr.addr()->sa_family, SOCK_STREAM | SOCK_CLOEXEC | SOCK_NONBLOCK, 0)))); if (!transportFd.fd.ok()) { int savedErrno = errno; Loading libs/binder/RpcSession.cpp +4 −4 Original line number Diff line number Diff line Loading @@ -174,7 +174,7 @@ status_t RpcSession::setupPreconnectedClient(base::unique_fd fd, return res.error().code() == 0 ? UNKNOWN_ERROR : -res.error().code(); } TransportFd transportFd(std::move(fd)); RpcTransportFd transportFd(std::move(fd)); status_t status = initAndAddConnection(std::move(transportFd), sessionId, incoming); fd = unique_fd(); // Explicitly reset after move to avoid analyzer warning. return status; Loading @@ -193,7 +193,7 @@ status_t RpcSession::addNullDebuggingClient() { return -savedErrno; } TransportFd transportFd(std::move(serverFd)); RpcTransportFd transportFd(std::move(serverFd)); auto server = mCtx->newTransport(std::move(transportFd), mShutdownTrigger.get()); if (server == nullptr) { ALOGE("Unable to set up RpcTransport"); Loading Loading @@ -576,7 +576,7 @@ status_t RpcSession::setupOneSocketConnection(const RpcSocketAddress& addr, return -savedErrno; } TransportFd transportFd(std::move(serverFd)); RpcTransportFd transportFd(std::move(serverFd)); if (0 != TEMP_FAILURE_RETRY(connect(transportFd.fd.get(), addr.addr(), addr.addrSize()))) { int connErrno = errno; Loading Loading @@ -624,7 +624,7 @@ status_t RpcSession::setupOneSocketConnection(const RpcSocketAddress& addr, return UNKNOWN_ERROR; } status_t RpcSession::initAndAddConnection(TransportFd fd, const std::vector<uint8_t>& sessionId, status_t RpcSession::initAndAddConnection(RpcTransportFd fd, const std::vector<uint8_t>& sessionId, bool incoming) { LOG_ALWAYS_FATAL_IF(mShutdownTrigger == nullptr); auto server = mCtx->newTransport(std::move(fd), mShutdownTrigger.get()); Loading libs/binder/RpcTransportRaw.cpp +3 −3 Original line number Diff line number Diff line Loading @@ -36,7 +36,7 @@ constexpr size_t kMaxFdsPerMsg = 253; // RpcTransport with TLS disabled. class RpcTransportRaw : public RpcTransport { public: explicit RpcTransportRaw(android::TransportFd socket) : mSocket(std::move(socket)) {} explicit RpcTransportRaw(android::RpcTransportFd socket) : mSocket(std::move(socket)) {} status_t pollRead(void) override { uint8_t buf; ssize_t ret = TEMP_FAILURE_RETRY( Loading Loading @@ -180,13 +180,13 @@ public: virtual bool isWaiting() { return mSocket.isInPollingState(); } private: android::TransportFd mSocket; android::RpcTransportFd mSocket; }; // RpcTransportCtx with TLS disabled. class RpcTransportCtxRaw : public RpcTransportCtx { public: std::unique_ptr<RpcTransport> newTransport(android::TransportFd socket, FdTrigger*) const { std::unique_ptr<RpcTransport> newTransport(android::RpcTransportFd socket, FdTrigger*) const { return std::make_unique<RpcTransportRaw>(std::move(socket)); } std::vector<uint8_t> getCertificate(RpcCertificateFormat) const override { return {}; } Loading Loading
libs/binder/FdTrigger.cpp +1 −1 Original line number Diff line number Diff line Loading @@ -54,7 +54,7 @@ bool FdTrigger::isTriggered() { #endif } status_t FdTrigger::triggerablePoll(const android::TransportFd& transportFd, int16_t event) { status_t FdTrigger::triggerablePoll(const android::RpcTransportFd& transportFd, int16_t event) { #ifdef BINDER_RPC_SINGLE_THREADED if (mTriggered) { return DEAD_OBJECT; Loading
libs/binder/FdTrigger.h +2 −1 Original line number Diff line number Diff line Loading @@ -55,7 +55,8 @@ public: * true - time to read! * false - trigger happened */ [[nodiscard]] status_t triggerablePoll(const android::TransportFd& transportFd, int16_t event); [[nodiscard]] status_t triggerablePoll(const android::RpcTransportFd& transportFd, int16_t event); private: #ifdef BINDER_RPC_SINGLE_THREADED Loading
libs/binder/RpcServer.cpp +3 −3 Original line number Diff line number Diff line Loading @@ -194,7 +194,7 @@ void RpcServer::join() { static_assert(addr.size() >= sizeof(sockaddr_storage), "kRpcAddressSize is too small"); socklen_t addrLen = addr.size(); TransportFd clientSocket(unique_fd(TEMP_FAILURE_RETRY( RpcTransportFd clientSocket(unique_fd(TEMP_FAILURE_RETRY( accept4(mServer.fd.get(), reinterpret_cast<sockaddr*>(addr.data()), &addrLen, SOCK_CLOEXEC | SOCK_NONBLOCK)))); Loading Loading @@ -296,7 +296,7 @@ size_t RpcServer::numUninitializedSessions() { } void RpcServer::establishConnection( sp<RpcServer>&& server, TransportFd clientFd, std::array<uint8_t, kRpcAddressSize> addr, sp<RpcServer>&& server, RpcTransportFd clientFd, std::array<uint8_t, kRpcAddressSize> addr, size_t addrLen, std::function<void(sp<RpcSession>&&, RpcSession::PreJoinSetupResult&&)>&& joinFn) { // mShutdownTrigger can only be cleared once connection threads have joined. Loading Loading @@ -488,7 +488,7 @@ status_t RpcServer::setupSocketServer(const RpcSocketAddress& addr) { LOG_RPC_DETAIL("Setting up socket server %s", addr.toString().c_str()); LOG_ALWAYS_FATAL_IF(hasServer(), "Each RpcServer can only have one server."); TransportFd transportFd(unique_fd(TEMP_FAILURE_RETRY( RpcTransportFd transportFd(unique_fd(TEMP_FAILURE_RETRY( socket(addr.addr()->sa_family, SOCK_STREAM | SOCK_CLOEXEC | SOCK_NONBLOCK, 0)))); if (!transportFd.fd.ok()) { int savedErrno = errno; Loading
libs/binder/RpcSession.cpp +4 −4 Original line number Diff line number Diff line Loading @@ -174,7 +174,7 @@ status_t RpcSession::setupPreconnectedClient(base::unique_fd fd, return res.error().code() == 0 ? UNKNOWN_ERROR : -res.error().code(); } TransportFd transportFd(std::move(fd)); RpcTransportFd transportFd(std::move(fd)); status_t status = initAndAddConnection(std::move(transportFd), sessionId, incoming); fd = unique_fd(); // Explicitly reset after move to avoid analyzer warning. return status; Loading @@ -193,7 +193,7 @@ status_t RpcSession::addNullDebuggingClient() { return -savedErrno; } TransportFd transportFd(std::move(serverFd)); RpcTransportFd transportFd(std::move(serverFd)); auto server = mCtx->newTransport(std::move(transportFd), mShutdownTrigger.get()); if (server == nullptr) { ALOGE("Unable to set up RpcTransport"); Loading Loading @@ -576,7 +576,7 @@ status_t RpcSession::setupOneSocketConnection(const RpcSocketAddress& addr, return -savedErrno; } TransportFd transportFd(std::move(serverFd)); RpcTransportFd transportFd(std::move(serverFd)); if (0 != TEMP_FAILURE_RETRY(connect(transportFd.fd.get(), addr.addr(), addr.addrSize()))) { int connErrno = errno; Loading Loading @@ -624,7 +624,7 @@ status_t RpcSession::setupOneSocketConnection(const RpcSocketAddress& addr, return UNKNOWN_ERROR; } status_t RpcSession::initAndAddConnection(TransportFd fd, const std::vector<uint8_t>& sessionId, status_t RpcSession::initAndAddConnection(RpcTransportFd fd, const std::vector<uint8_t>& sessionId, bool incoming) { LOG_ALWAYS_FATAL_IF(mShutdownTrigger == nullptr); auto server = mCtx->newTransport(std::move(fd), mShutdownTrigger.get()); Loading
libs/binder/RpcTransportRaw.cpp +3 −3 Original line number Diff line number Diff line Loading @@ -36,7 +36,7 @@ constexpr size_t kMaxFdsPerMsg = 253; // RpcTransport with TLS disabled. class RpcTransportRaw : public RpcTransport { public: explicit RpcTransportRaw(android::TransportFd socket) : mSocket(std::move(socket)) {} explicit RpcTransportRaw(android::RpcTransportFd socket) : mSocket(std::move(socket)) {} status_t pollRead(void) override { uint8_t buf; ssize_t ret = TEMP_FAILURE_RETRY( Loading Loading @@ -180,13 +180,13 @@ public: virtual bool isWaiting() { return mSocket.isInPollingState(); } private: android::TransportFd mSocket; android::RpcTransportFd mSocket; }; // RpcTransportCtx with TLS disabled. class RpcTransportCtxRaw : public RpcTransportCtx { public: std::unique_ptr<RpcTransport> newTransport(android::TransportFd socket, FdTrigger*) const { std::unique_ptr<RpcTransport> newTransport(android::RpcTransportFd socket, FdTrigger*) const { return std::make_unique<RpcTransportRaw>(std::move(socket)); } std::vector<uint8_t> getCertificate(RpcCertificateFormat) const override { return {}; } Loading