On Monday 02 February 2009 22:16:07 Jamie Lokier wrote:
> Jamie Lokier wrote:
> > On my video player, the control program just runs the media player in
> > a child process and talks over a pipe to it, in simple text commands.
> > So the control program can be in any language, in theory.
>
> <small>
> This is also quite handy when the codec crashes or gets stuck...
> the control program doesn't crash, it just kills the media program
> and starts another...
> </small>

8->

Worked once with this board which had an i/o processor on a daughterboard - I 
think it was a Toshiba 8089 clone. For a token-passing ring. The 8089 would 
get wedged regularly when a certain sequence of interrupts occurred, and the 
solution was for the controlling CPU to detect the wedgedness and quietly 
reset the 8089 by writing to a certain physical address. Frames would get lost 
but they would be retransmitted, and as far as the customer was concerned the 
problem was solved.

You can also apply the same kind of thinking within a single-process multi-
threaded model, if you can find the right boundaries. For example in OSGi the 
unit of granularity might be the service: if a service is critical then some 
other service should be monitoring it and be ready to take action if it 
appears to be stuck. The last resort is to exit the JVM, and then at the linux 
scripting level save the stack trace and relaunch Java.

-- 
Chris Gray        /k/ Embedded Java Solutions      BE0503765045
Embedded & Mobile Java, OSGi    http://www.k-embedded-java.com/
chris.g...@kiffer.be                             +32 3 216 0369

Come and see us at Embedded World 2009 in Nürnberg, 3-5.3.2009:
Hall 12, Stand 560 (DSP Valley).  http://www.embedded-world.de/
_______________________________________________
uClinux-dev mailing list
uClinux-dev@uclinux.org
http://mailman.uclinux.org/mailman/listinfo/uclinux-dev
This message was resent by uclinux-dev@uclinux.org
To unsubscribe see:
http://mailman.uclinux.org/mailman/options/uclinux-dev

Reply via email to