diff options
Diffstat (limited to 'libs/binder/RpcSession.cpp')
-rw-r--r-- | libs/binder/RpcSession.cpp | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/libs/binder/RpcSession.cpp b/libs/binder/RpcSession.cpp index 05fa49ec76..4efa6bb1a9 100644 --- a/libs/binder/RpcSession.cpp +++ b/libs/binder/RpcSession.cpp @@ -113,6 +113,16 @@ status_t RpcSession::sendDecStrong(const RpcAddress& address) { return state()->sendDecStrong(connection.fd(), address); } +std::unique_ptr<RpcSession::FdTrigger> RpcSession::FdTrigger::make() { + auto ret = std::make_unique<RpcSession::FdTrigger>(); + if (!android::base::Pipe(&ret->mRead, &ret->mWrite)) return nullptr; + return ret; +} + +void RpcSession::FdTrigger::trigger() { + mWrite.reset(); +} + status_t RpcSession::readId() { { std::lock_guard<std::mutex> _l(mMutex); |