diff options
| author | jow <jow@3c298f89-4303-0410-b956-a3cf2f4a3e73> | 2010-02-10 00:34:32 +0000 | 
|---|---|---|
| committer | jow <jow@3c298f89-4303-0410-b956-a3cf2f4a3e73> | 2010-02-10 00:34:32 +0000 | 
| commit | cce5cf4ccd3427b804952d4d53f47454c586f630 (patch) | |
| tree | 7873dbe55d9d7dcd85447da82a9c8912cbc2d31e /package/dropbear | |
| parent | ab8bd8a6bda5d4df24ad9a8c33e142981860dfac (diff) | |
[package] dropbear: performance improvements in init script, quiet mode for start-stop-daemon - patch by Matthias Buecher <mail@maddes.net>
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@19569 3c298f89-4303-0410-b956-a3cf2f4a3e73
Diffstat (limited to 'package/dropbear')
| -rwxr-xr-x | package/dropbear/files/dropbear.init | 17 | 
1 files changed, 8 insertions, 9 deletions
diff --git a/package/dropbear/files/dropbear.init b/package/dropbear/files/dropbear.init index 4ee130c3a..85a90d02f 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  | 
