I demand that Klaus Schmidinger may or may not have written...
Darren Salt wrote:
The attached patch should fix a hang (livelock) which can occur when moving between editing marks. Blame Timothy Baldwin if it doesn't work - he suggested it ;-)
[snip]
Under which conditions do these lockups happen?
Which output device is in use (FF DVB card or some software player)?
It's happened here: budget card, xine-lib.
I don't really see what difference this sched_yield() would make, so I'd like to understand this before simply throwing it in...
Quoting from the mail which described the patch:
| It's livelock!
| The thread which executes cDvbPlayer::Action(void) (in dvbplayer.c) locks | the cDvbPlayer object most of the time when an editing mark is first jumped | to. The symptoms are cured by adding a call to sched_yield() before | LOCK_THREAD in cDvbPlayer::Action(void).