summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMark Salyzyn <salyzyn@google.com>2013-11-20 13:38:52 -0800
committerMark Salyzyn <salyzyn@google.com>2014-03-03 12:48:00 -0800
commit581edc1b6c3799238cfb674dfddb97db44f2818e (patch)
treeea0951fc0b885f98631d3088354306e96616cea0
parentba23d539328af36b2040a5bcbdcc840810a4df51 (diff)
downloadsystem_core-581edc1b6c3799238cfb674dfddb97db44f2818e.zip
system_core-581edc1b6c3799238cfb674dfddb97db44f2818e.tar.gz
system_core-581edc1b6c3799238cfb674dfddb97db44f2818e.tar.bz2
set /proc/sys/net/unix/max_dgram_qlen to large value
- init: set /proc/sys/net/unix/max_dgram_qlen to 300 - libsysutils: Add listen backlog argument to startListener - logd: set listen backlog to 300 Change-Id: Id6d37d6c937ba2d221e76258d89c9516619caeec
-rw-r--r--include/sysutils/SocketListener.h1
-rw-r--r--libsysutils/src/SocketListener.cpp6
-rw-r--r--logd/main.cpp3
-rw-r--r--rootdir/init.rc1
4 files changed, 9 insertions, 2 deletions
diff --git a/include/sysutils/SocketListener.h b/include/sysutils/SocketListener.h
index c204a0f..bc93b86 100644
--- a/include/sysutils/SocketListener.h
+++ b/include/sysutils/SocketListener.h
@@ -38,6 +38,7 @@ public:
virtual ~SocketListener();
int startListener();
+ int startListener(int backlog);
int stopListener();
void sendBroadcast(int code, const char *msg, bool addErrno);
diff --git a/libsysutils/src/SocketListener.cpp b/libsysutils/src/SocketListener.cpp
index 5c75206..527a6a0 100644
--- a/libsysutils/src/SocketListener.cpp
+++ b/libsysutils/src/SocketListener.cpp
@@ -70,6 +70,10 @@ SocketListener::~SocketListener() {
}
int SocketListener::startListener() {
+ return startListener(4);
+}
+
+int SocketListener::startListener(int backlog) {
if (!mSocketName && mSock == -1) {
SLOGE("Failed to start unbound listener");
@@ -84,7 +88,7 @@ int SocketListener::startListener() {
SLOGV("got mSock = %d for %s", mSock, mSocketName);
}
- if (mListen && listen(mSock, 4) < 0) {
+ if (mListen && listen(mSock, backlog) < 0) {
SLOGE("Unable to listen on socket (%s)", strerror(errno));
return -1;
} else if (!mListen)
diff --git a/logd/main.cpp b/logd/main.cpp
index 1891206..6216b95 100644
--- a/logd/main.cpp
+++ b/logd/main.cpp
@@ -105,7 +105,8 @@ int main() {
// and LogReader is notified to send updates to connected clients.
LogListener *swl = new LogListener(logBuf, reader);
- if (swl->startListener()) {
+ // Backlog and /proc/sys/net/unix/max_dgram_qlen set to large value
+ if (swl->startListener(300)) {
exit(1);
}
diff --git a/rootdir/init.rc b/rootdir/init.rc
index 9975368..ffbc9fa 100644
--- a/rootdir/init.rc
+++ b/rootdir/init.rc
@@ -100,6 +100,7 @@ loglevel 3
write /proc/sys/kernel/dmesg_restrict 1
write /proc/sys/vm/mmap_min_addr 32768
write /proc/sys/net/ipv4/ping_group_range "0 2147483647"
+ write /proc/sys/net/unix/max_dgram_qlen 300
write /proc/sys/kernel/sched_rt_runtime_us 950000
write /proc/sys/kernel/sched_rt_period_us 1000000