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

Tim 'Tool-Man' Taylor tim at tool-man.org
Sat Mar 31 02:21:59 CEST 2001


Matt Howell wrote:

[snip]

> ---------------------------------------------------
> -  II. Deadlock Scenarios and Proposed Solutions  -
> -      (in the order they will be implemented)    -
> ---------------------------------------------------
> 
> 1. A downstream element "waits" for a buffer from its upstream element,
>    a state change happens and "pauses" the upstream element -- the
>    downstream element is blocked and cannot execute its change_state.
> 
[snip]

> 2. Element "blocked" on getting I/O and cannot execute its change_state.
[snip]

> 3. Element using a library (code out of its control) which blocks for
>    some reason (e.g., using real blocking I/O) so main loop never gets
>    run to execute change_state.

Unless I'm missing something, none of these scenarios describe Deadlock. 
  They describe liveness problems.  Deadlock is when two threads lock on 
eachother, each awaiting a condition that only the other thread can fulfill.



-- 
Tim Taylor
tim at tool-man.org





More information about the gstreamer-devel mailing list