From: Jackie Huang <[email protected]>

* 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 <[email protected]>
Signed-off-by: Martin Jansa <[email protected]>
Signed-off-by: Armin Kuster <[email protected]>
---
 .../recipes-connectivity/hostapd/hostapd-2.2/init  | 27 +++++++++++++++++++---
 1 file 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 79f74b6..8ba4e07 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
-- 
1.9.1

-- 
_______________________________________________
Openembedded-devel mailing list
[email protected]
http://lists.openembedded.org/mailman/listinfo/openembedded-devel

Reply via email to