[gst-devel] INCSCHED1: scheduling / threading branch of GStreamer

Tim 'Tool-Man' Taylor tim at tool-man.org
Mon Apr 2 23:24:24 CEST 2001


I see the light :)

Case 1 is deadlock, no liberty taking necessary.

Matt Howell wrote:

> i should have spent more time on my initial response.  you're correct:
> none of these are race conditions.  basically i don't like the term
> "liveness" -- but that's not important.  "Liveness Problems..." is fine
> and correctly describes all the scenarios.
> 
> fyi, i consider case 1 deadlock because:
> + B waiting for A to wake it up (with data)
> + A waiting for B to wake it up (that B executed change state)
> => (taking some liberty) the deadlock condition is
>    "i'm waiting for you to wake me up"
> this is not 100% correct because the real conditions are different --
> "data" vs "changed state" -- but i've always considered this deadlock.
> 
> matt.
> --
> Tim 'Tool-Man' Taylor wrote:
> 
> 
>> Now, you're probably going to think I'm trying to pick a fight :)  ...
>> 
>> Unless I've misunderstood one of the scenarios (a distinct possibility)
>> a more accurate heading would be: "Liveness Problems and Proposed
>> Solutions".
>> 
>> I don't see how they are race conditions, either.  It's tempting to
>> think of deadlock as a type of race condition, but typically the term
>> "race condition" is reserved for describing code that relies on
>> scheduling to keep other threads from accessing objects in intermediate
>> (i.e. inconsistent) states.
>> 
>> I don't mean to be pedantic.  However, my C-fu is minimal and my
>> concurrent C programming skills are non-existent, so I can't divine
>> understanding by perusing the code...at least not easily.  The higher
>> level documentation and notes are how I grok gstreamer right now.
>> 
>> I'm /not/ saying these scenarios don't have deadlock or race conditions.
>>   I'm saying "I don't see them".  That may mean they aren't there.  More
>> likely it means means I lack the understanding of gstreamer internals to
>> "see" them based on your notes.  This is probably fine.  Your notes were
>> intended for internal developers, not for gstreamer groupies like me :)
>> 
>> --
>> Tim Taylor
>> tim at tool-man.org
>> 
>> _______________________________________________
>> gstreamer-devel mailing list
>> gstreamer-devel at lists.sourceforge.net
>> http://lists.sourceforge.net/lists/listinfo/gstreamer-devel
> 
> 
> 
> _______________________________________________
> gstreamer-devel mailing list
> gstreamer-devel at lists.sourceforge.net
> http://lists.sourceforge.net/lists/listinfo/gstreamer-devel


-- 
Tim Taylor
tim at tool-man.org





More information about the gstreamer-devel mailing list