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

Matt Howell matth at ridgerun.com
Sun Apr 1 21:38:54 CEST 2001


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





More information about the gstreamer-devel mailing list