From 5a8c4dad38e1f3c4a8b959b5d4f1a3672f18491e Mon Sep 17 00:00:00 2001 From: Paul Sokolovsky Date: Sun, 6 May 2007 03:52:02 +0000 Subject: opie-init: Handle qss startup properly and diagnostably. * Based on Michael Krelin's patch in #2211, changed to restart qss if exits, and log what happens. It turns out that after initial setup, few OPIE service is essentially restarted (During "Please wait" white screen), including qcop, on which qss depends, so qss quits. Plus, we always should anticipate possibility of it segfaulting ;-). * With this change, sound on pocketpc's works OOB, and as it worked for zauruses with original patch, #2211 should be resolved. --- packages/opie-init/opie-init/opie | 13 +++++++++++-- packages/opie-init/opie-init_1.2.2.bb | 2 +- 2 files changed, 12 insertions(+), 3 deletions(-) diff --git a/packages/opie-init/opie-init/opie b/packages/opie-init/opie-init/opie index 8f08732797..63eeb7b47d 100755 --- a/packages/opie-init/opie-init/opie +++ b/packages/opie-init/opie-init/opie @@ -64,17 +64,26 @@ case $1 in fi echo Starting Opie.... $SSHAGENT $OPIEDIR/bin/qpe -terminal 3 - sleep 1 - $OPIEDIR/bin/qss /var/log/opie-qss.log 2>&1 & + echo -n >/var/log/opie-qss.log + test -x $OPIEDIR/bin/qpe && { for attempt in 0 1 2 3 4 5 6 7 8 9 a b c d e f ; do + sleep 1 + echo "Waiting for qcop to startup: $attempt ..." >>/var/log/opie-qss.log + $OPIEDIR/bin/qcop QPE/System 'ping()' || continue + echo "Starting qss" >>/var/log/opie-qss.log + $OPIEDIR/bin/qss >/var/log/opie-qss.log 2>&1 + echo "qss exited, will try to restart" >>/var/log/opie-qss.log + done; } & fi ;; 'stop') echo "Stopping Opie..." + killall qss 2>/dev/null killall qpe 2>/dev/null killall opie-login 2>/dev/null killall quicklauncher 2>/dev/null + true ;; diff --git a/packages/opie-init/opie-init_1.2.2.bb b/packages/opie-init/opie-init_1.2.2.bb index 47cca4f066..bc1a4bc4e6 100644 --- a/packages/opie-init/opie-init_1.2.2.bb +++ b/packages/opie-init/opie-init_1.2.2.bb @@ -1,5 +1,5 @@ require ${PN}.inc -PR = "r1" +PR = "r2" SRC_URI = "file://opie-reorgfiles \ file://opie \ -- cgit v1.2.3