[ moved to devel list ]

Krister Lagerstrom wrote:
> Dirk Meyer wrote:
>
>> That may be right. The output of mplayer is parsed in a thread and
>> this thread updates the osd. Without the SynchronizedObject we may
>> have a problem here. Maybe the bug is related to the fact that the
>> main thread locks osd.py while doing it's time.sleep()
>
> I'm not sure what you mean by this, can you explain in more detail?

OSD is (was) a SynchronizedObject. If I understand the code of the
SynchronizedObject, only one thread can enter a function at a time to
prevent race conditions. We have (had) the mplayer stdout reading
thread update the screen to show the current time in the file. On the
other hand we have a main loop calling time.sleep() _inside_ OSD()
(because of the animation stuff). So main enters osd, locks it and
takes a nap. The thread can't enter to update the osd and waits. Next
scheduling round: main wakes up, leaves osd, polls all queues for
events and goes back into osd to sleep. This is a perfect example for
Starvation. 


Dischi

-- 
I started out with nothing... I still have most of it.


-------------------------------------------------------
This SF.Net email is sponsored by Sleepycat Software
Learn developer strategies Cisco, Motorola, Ericsson & Lucent use to deliver
higher performing products faster, at low TCO.
http://www.sleepycat.com/telcomwpreg.php?From=osdnemail3
_______________________________________________
Freevo-devel mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/freevo-devel

Reply via email to