diff options
| author | 2023-10-17 16:32:18 +0000 | |
|---|---|---|
| committer | 2023-10-17 16:32:18 +0000 | |
| commit | 53e36f03ceb6bf5a0e2249ecb9e0ca280a3ef1dd (patch) | |
| tree | 300ad08ae37c24dc0b750dc86e78ed7ea78fc33e | |
| parent | 9dadb00a7f38d61f00228238d714e931b85bf010 (diff) | |
| parent | 5101ebae20c7b932a958eaab00bbc977f829eb8e (diff) | |
Merge "RPC binder: set TCP_NDELAY" into main am: 2b5da9e68e am: 5101ebae20
Original change: https://android-review.googlesource.com/c/platform/frameworks/native/+/2780897
Change-Id: I73dea40c3ed72fd96219f313eb40984e584e3723
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
| -rw-r--r-- | libs/binder/RpcServer.cpp | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/libs/binder/RpcServer.cpp b/libs/binder/RpcServer.cpp index db31737aef..07ab093992 100644 --- a/libs/binder/RpcServer.cpp +++ b/libs/binder/RpcServer.cpp @@ -17,6 +17,7 @@ #define LOG_TAG "RpcServer" #include <inttypes.h> +#include <netinet/tcp.h> #include <poll.h> #include <sys/socket.h> #include <sys/un.h> @@ -571,6 +572,17 @@ status_t RpcServer::setupSocketServer(const RpcSocketAddress& addr) { return -savedErrno; } + if (addr.addr()->sa_family == AF_INET || addr.addr()->sa_family == AF_INET6) { + int noDelay = 1; + int result = + setsockopt(socket_fd.get(), IPPROTO_TCP, TCP_NODELAY, &noDelay, sizeof(noDelay)); + if (result < 0) { + int savedErrno = errno; + ALOGE("Could not set TCP_NODELAY on %s", strerror(savedErrno)); + return -savedErrno; + } + } + { RpcMutexLockGuard _l(mLock); if (mServerSocketModifier != nullptr) { |