From 9f7f7afaa47bc3a058234269bffa55e15558df16 Mon Sep 17 00:00:00 2001 From: Qiang Chen Date: Wed, 30 Oct 2013 17:12:29 +0800 Subject: irda-utils: restart irda daemon correctly irattach init script restart faulty logic prevents irda daemon from restart correctly. root@qemu0:~# /etc/init.d/irattach restart Restarting IrDA: Terminated root@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. (From OE-Core rev: 39f266138b972b550979909b235a5779828d7d89) Signed-off-by: Qiang Chen Signed-off-by: Saul Wold Signed-off-by: Richard Purdie --- .../irda-utils/irda-utils-0.9.18/init | 38 +++++++++++----------- 1 file changed, 19 insertions(+), 19 deletions(-) (limited to 'meta/recipes-connectivity/irda-utils') 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 b8038e08a3..6f29e9c6ed 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 - -- cgit v1.2.3-54-g00ecf