dropbear: performance improvements in init script, quiet mode for start-stop-daemon - patch by Matthias Buecher <mail@maddes.net>

SVN-Revision: 19569
This commit is contained in:
Jo-Philipp Wich 2010-02-10 00:34:32 +00:00
parent 275b0d8cd4
commit 87d3ed312c

View File

@ -1,5 +1,5 @@
#!/bin/sh /etc/rc.common #!/bin/sh /etc/rc.common
# Copyright (C) 2006-2009 OpenWrt.org # Copyright (C) 2006-2010 OpenWrt.org
# Copyright (C) 2006 Carlos Sobrinho # Copyright (C) 2006 Carlos Sobrinho
NAME=dropbear NAME=dropbear
@ -91,7 +91,7 @@ stop()
local pidfile local pidfile
for pidfile in `ls /var/run/${NAME}.*.pid` for pidfile in `ls /var/run/${NAME}.*.pid`
do 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}" rm -f "${pidfile}"
done done
[ -z "${pidfile}" ] && echo "${initscript}: no pid files, if you get problems with start then try killclients" [ -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 [ "${pid}" -eq 0 ] && break
# check if client connection # check if client connection
ps | grep -e "^[ ]*${pid} " | grep "${PROG}" >/dev/null grep -F -q -e "${PROG}" "/proc/${pid}/cmdline" && {
if [ $? -eq 0 ]
then
append ignore "${pid}" append ignore "${pid}"
break break
fi }
done done
# get all server pids that should be ignored # get all server pids that should be ignored
@ -130,9 +128,10 @@ killclients()
local skip local skip
for pid in `pidof "${NAME}"` for pid in `pidof "${NAME}"`
do do
# check if correct program # check if correct program, otherwise process next pid
ps | grep -e "^[ ]*${pid} " | grep "${PROG}" >/dev/null grep -F -q -e "${PROG}" "/proc/${pid}/cmdline" || {
[ $? -ne 0 ] && continue continue
}
# check if pid should be ignored (servers, ourself) # check if pid should be ignored (servers, ourself)
skip=0 skip=0