diff options
author | Paul Sokolovsky <pmiscml@gmail.com> | 2007-05-06 03:52:02 +0000 |
---|---|---|
committer | Paul Sokolovsky <pmiscml@gmail.com> | 2007-05-06 03:52:02 +0000 |
commit | 5a8c4dad38e1f3c4a8b959b5d4f1a3672f18491e (patch) | |
tree | b80e9320fbf939453dd76ad790c837816e27be6f /packages/opie-init | |
parent | 5c59726be653249443ecfdb084bff22c948f2eec (diff) |
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.
Diffstat (limited to 'packages/opie-init')
-rwxr-xr-x | packages/opie-init/opie-init/opie | 13 | ||||
-rw-r--r-- | 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 </dev/null >/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 </dev/null >>/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 \ |