summaryrefslogtreecommitdiff
path: root/packages/opie-init
diff options
context:
space:
mode:
authorPaul Sokolovsky <pmiscml@gmail.com>2007-05-06 03:52:02 +0000
committerPaul Sokolovsky <pmiscml@gmail.com>2007-05-06 03:52:02 +0000
commit5a8c4dad38e1f3c4a8b959b5d4f1a3672f18491e (patch)
treeb80e9320fbf939453dd76ad790c837816e27be6f /packages/opie-init
parent5c59726be653249443ecfdb084bff22c948f2eec (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-xpackages/opie-init/opie-init/opie13
-rw-r--r--packages/opie-init/opie-init_1.2.2.bb2
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 \