diff options
author | Jackie Huang <jackie.huang@windriver.com> | 2014-11-14 04:52:00 -0500 |
---|---|---|
committer | Martin Jansa <Martin.Jansa@gmail.com> | 2014-11-24 11:59:48 +0100 |
commit | 8da5b698fce2b44d965d8aeb36349754d0d3d4d9 (patch) | |
tree | 488b5b5612a08e543e821fa3783f551868148117 /meta-oe/recipes-connectivity/hostapd | |
parent | 890a034a46e5fd3d31c2da7e47f50071fec0ce79 (diff) | |
download | meta-openembedded-contrib-8da5b698fce2b44d965d8aeb36349754d0d3d4d9.tar.gz |
hostapd: several fixes for init script
* restart: The stop may delay a few seconds according to different wireless
devices, on debian/ubuntu, the init script directly sleep 8 seconds
to wait the stop complete, here we add a delay function (sleep in a loop)
to ensure the stop is completed before start.
* add status command.
* add --oknodo for stop so it will not break restart if there is no
running process.
Signed-off-by: Jackie Huang <jackie.huang@windriver.com>
Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
Diffstat (limited to 'meta-oe/recipes-connectivity/hostapd')
-rw-r--r-- | meta-oe/recipes-connectivity/hostapd/hostapd-2.2/init | 27 |
1 files changed, 24 insertions, 3 deletions
diff --git a/meta-oe/recipes-connectivity/hostapd/hostapd-2.2/init b/meta-oe/recipes-connectivity/hostapd/hostapd-2.2/init index 79f74b681e..8ba4e07940 100644 --- a/meta-oe/recipes-connectivity/hostapd/hostapd-2.2/init +++ b/meta-oe/recipes-connectivity/hostapd/hostapd-2.2/init @@ -8,6 +8,23 @@ test -f $DAEMON || exit 0 set -e +# source function library +. /etc/init.d/functions + +delay_stop() { + count=0 + while [ $count -lt 9 ] ; do + if pidof $DAEMON >/dev/null; then + sleep 1 + else + return 0 + fi + count=`expr $count + 1` + done + echo "Failed to stop $DESC." + return 1 +} + case "$1" in start) echo -n "Starting $DESC: " @@ -16,20 +33,24 @@ case "$1" in ;; stop) echo -n "Stopping $DESC: " - start-stop-daemon -K -x $DAEMON + start-stop-daemon -K --oknodo -x $DAEMON echo "$NAME." ;; restart) $0 stop - $0 start + delay_stop && $0 start ;; reload) echo -n "Reloading $DESC: " killall -HUP $(basename ${DAEMON}) echo "$NAME." ;; + status) + status $DAEMON + exit $? + ;; *) - echo "Usage: $0 {start|stop|restart|reload}" + echo "Usage: $0 {start|stop|restart|reload|status}" exit 1 ;; esac |