[oe-commits] Jackie Huang : hostapd: several fixes for init script

git at git.openembedded.org git at git.openembedded.org
Mon Dec 29 09:11:28 UTC 2014


Module: meta-openembedded.git
Branch: dizzy-next
Commit: ad4734201b02f7acec08ad4571571e125d05b975
URL:    http://git.openembedded.org/?p=meta-openembedded.git&a=commit;h=ad4734201b02f7acec08ad4571571e125d05b975

Author: Jackie Huang <jackie.huang at windriver.com>
Date:   Fri Nov 14 04:52:00 2014 -0500

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 at windriver.com>
Signed-off-by: Martin Jansa <Martin.Jansa at gmail.com>
Signed-off-by: Armin Kuster <akuster808 at gmail.com>

---

 .../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



More information about the Openembedded-commits mailing list