aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJo-Philipp Wich <jow@openwrt.org>2010-02-10 00:34:32 +0000
committerJo-Philipp Wich <jow@openwrt.org>2010-02-10 00:34:32 +0000
commit87d3ed312c931a7831e723253095949b64d4c7d8 (patch)
treeb2eb7a5ca4ba9d8d263c39e2651f9f0b8129a8c0
parent275b0d8cd4f61e38f938398b2f41928a8519e0be (diff)
downloadupstream-87d3ed312c931a7831e723253095949b64d4c7d8.tar.gz
upstream-87d3ed312c931a7831e723253095949b64d4c7d8.tar.bz2
upstream-87d3ed312c931a7831e723253095949b64d4c7d8.zip
dropbear: performance improvements in init script, quiet mode for start-stop-daemon - patch by Matthias Buecher <mail@maddes.net>
SVN-Revision: 19569
-rwxr-xr-xpackage/dropbear/files/dropbear.init17
1 files changed, 8 insertions, 9 deletions
diff --git a/package/dropbear/files/dropbear.init b/package/dropbear/files/dropbear.init
index 4ee130c3a5..85a90d02fd 100755
--- a/package/dropbear/files/dropbear.init
+++ b/package/dropbear/files/dropbear.init
@@ -1,5 +1,5 @@
#!/bin/sh /etc/rc.common
-# Copyright (C) 2006-2009 OpenWrt.org
+# Copyright (C) 2006-2010 OpenWrt.org
# Copyright (C) 2006 Carlos Sobrinho
NAME=dropbear
@@ -91,7 +91,7 @@ stop()
local pidfile
for pidfile in `ls /var/run/${NAME}.*.pid`
do
- start-stop-daemon -K -s KILL -p "${pidfile}" -n "${NAME}" >/dev/null
+ start-stop-daemon -q -K -s KILL -p "${pidfile}" -n "${NAME}"
rm -f "${pidfile}"
done
[ -z "${pidfile}" ] && echo "${initscript}: no pid files, if you get problems with start then try killclients"
@@ -112,12 +112,10 @@ killclients()
[ "${pid}" -eq 0 ] && break
# check if client connection
- ps | grep -e "^[ ]*${pid} " | grep "${PROG}" >/dev/null
- if [ $? -eq 0 ]
- then
+ grep -F -q -e "${PROG}" "/proc/${pid}/cmdline" && {
append ignore "${pid}"
break
- fi
+ }
done
# get all server pids that should be ignored
@@ -130,9 +128,10 @@ killclients()
local skip
for pid in `pidof "${NAME}"`
do
- # check if correct program
- ps | grep -e "^[ ]*${pid} " | grep "${PROG}" >/dev/null
- [ $? -ne 0 ] && continue
+ # check if correct program, otherwise process next pid
+ grep -F -q -e "${PROG}" "/proc/${pid}/cmdline" || {
+ continue
+ }
# check if pid should be ignored (servers, ourself)
skip=0