diff options
author | Qiang Chen <qiang.chen@windriver.com> | 2013-10-30 17:12:29 +0800 |
---|---|---|
committer | Saul Wold <sgw@linux.intel.com> | 2013-10-31 23:57:03 -0700 |
commit | 39f266138b972b550979909b235a5779828d7d89 (patch) | |
tree | 71dc997c8be41a9978af3c30a91273baac517003 | |
parent | 48067c2093e397255e41b0222da3b7612f1458a7 (diff) | |
download | openembedded-core-39f266138b972b550979909b235a5779828d7d89.tar.gz openembedded-core-39f266138b972b550979909b235a5779828d7d89.tar.bz2 openembedded-core-39f266138b972b550979909b235a5779828d7d89.zip |
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.
Signed-off-by: Qiang Chen <qiang.chen@windriver.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
-rwxr-xr-x | meta/recipes-connectivity/irda-utils/irda-utils-0.9.18/init | 38 |
1 files 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 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 - |