[OE-core] [PATCH] irda-utils: restart irda daemon correctly
qiang.chen at windriver.com
qiang.chen at windriver.com
Wed Oct 30 09:12:29 UTC 2013
From: Qiang Chen <qiang.chen at windriver.com>
irattach init script restart faulty logic prevents irda daemon
from restart correctly.
root at qemu0:~# /etc/init.d/irattach restart
Restarting IrDA: Terminated
root at qemu0:~# ps aux | grep irattach
root 541 0.0 0.2 2400 612 ttyS0 S+ 09:05 0:00 grep irattach
As above shows, irattach not started after executing restart command.
This commit changed the restart command logic: firstly stop, then
start.
Prompt telling user irattach start successfully or failure also
added.
Signed-off-by: Qiang Chen <qiang.chen at windriver.com>
---
.../irda-utils/irda-utils-0.9.18/init | 38 ++++++++++----------
1 file changed, 19 insertions(+), 19 deletions(-)
diff --git a/meta/recipes-connectivity/irda-utils/irda-utils-0.9.18/init b/meta/recipes-connectivity/irda-utils/irda-utils-0.9.18/init
index b8038e0..6f29e9c 100755
--- a/meta/recipes-connectivity/irda-utils/irda-utils-0.9.18/init
+++ b/meta/recipes-connectivity/irda-utils/irda-utils-0.9.18/init
@@ -8,6 +8,10 @@
# Short-Description: Infrared port support
### END INIT INFO
+NAME="irattach"
+test -x "$IRDA_DAEMON" || IRDA_DAEMON=/usr/sbin/irattach
+test -z "$IRATTACH_PID" && IRATTACH_PID=/var/run/irattach.pid
+
# Source function library.
. /etc/init.d/functions
@@ -49,30 +53,26 @@ fi
case "$1" in
start)
- echo -n "Starting IrDA: "
- irattach ${DEVICE} ${ARGS} > /dev/null 2>&1 &
- echo "$NAME."
- ;;
+ echo -n "Starting IrDA: $NAME"
+ start-stop-daemon --start --quiet --exec "$IRDA_DAEMON" ${DEVICE} ${ARGS} --pidfile "$IRATTACH_PID"
+ sleep 1
+ [ -f /var/run/irattach.pid ] && echo " done" || echo " fail"
+ ;;
stop)
- echo -n "Stopping IrDA: "
- killall irattach > /dev/null 2>&1
- echo "$NAME."
- ;;
+ echo "Stopping IrDA: $NAME"
+ start-stop-daemon --stop --quiet --exec "$IRDA_DAEMON" --pidfile "$IRATTACH_PID"
+ ;;
restart|force-reload)
- echo -n "Restarting IrDA: "
- irattach ${DEVICE} ${ARGS} > /dev/null 2>&1 &
- sleep 1
- killall irattach > /dev/null 2>&1
- echo "$NAME."
- ;;
+ $0 stop
+ $0 start
+ ;;
status)
status irattach
exit $?
;;
*)
- N=/etc/init.d/$NAME
- echo "Usage: $N {start|stop|restart|force-reload|status}" >&2
- exit 1
- ;;
+ N=/etc/init.d/$NAME
+ echo "Usage: $N {start|stop|restart|force-reload|status}" >&2
+ exit 1
+ ;;
esac
-
--
1.7.9.5
More information about the Openembedded-core
mailing list