[oe-commits] org.oe.dev opie-init: Handle qss startup properly and diagnostably.

pfalcon commit openembedded-commits at lists.openembedded.org
Sun May 6 04:06:26 UTC 2007


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.

Author: pfalcon at openembedded.org
Branch: org.openembedded.dev
Revision: 5a0c2498be96fb8ae42c90b19f42b7dd4761f996
ViewMTN: http://monotone.openembedded.org/revision.psp?id=5a0c2498be96fb8ae42c90b19f42b7dd4761f996
Files:
1
packages/opie-init/opie-init/opie
packages/opie-init/opie-init_1.2.2.bb
Diffs:

#
# mt diff -r63574aab45fa11754d7be72eaf51866ddc2f1fc4 -r5a0c2498be96fb8ae42c90b19f42b7dd4761f996
#
# 
# 
# patch "packages/opie-init/opie-init/opie"
#  from [a071cbe8984f689550329c9e2304181ec4f55ac4]
#    to [ddfc2ac7d88cbeb2a8e7464f327c6f8748e5f6dd]
# 
# patch "packages/opie-init/opie-init_1.2.2.bb"
#  from [b3876ae480900baa100ac3706034a4f5006ab2fd]
#    to [2a5558f178c042d55df990b8ebd1d0c021875f10]
# 
============================================================
--- packages/opie-init/opie-init/opie	a071cbe8984f689550329c9e2304181ec4f55ac4
+++ packages/opie-init/opie-init/opie	ddfc2ac7d88cbeb2a8e7464f327c6f8748e5f6dd
@@ -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
 
     ;;
 
============================================================
--- packages/opie-init/opie-init_1.2.2.bb	b3876ae480900baa100ac3706034a4f5006ab2fd
+++ packages/opie-init/opie-init_1.2.2.bb	2a5558f178c042d55df990b8ebd1d0c021875f10
@@ -1,5 +1,5 @@ require ${PN}.inc
 require ${PN}.inc
-PR = "r1"
+PR = "r2"
 
 SRC_URI = "file://opie-reorgfiles \
            file://opie \






More information about the Openembedded-commits mailing list