Skip to content

GitLab

  • Projects
  • Groups
  • Snippets
  • Help
    • Loading...
  • Help
    • Help
    • Support
    • Community forum
    • Submit feedback
    • Contribute to GitLab
  • Sign in / Register
gst-plugins-good
gst-plugins-good
  • Project overview
    • Project overview
    • Details
    • Activity
    • Releases
  • Repository
    • Repository
    • Files
    • Commits
    • Branches
    • Tags
    • Contributors
    • Graph
    • Compare
  • Issues 611
    • Issues 611
    • List
    • Boards
    • Labels
    • Service Desk
    • Milestones
  • Merge Requests 105
    • Merge Requests 105
  • CI / CD
    • CI / CD
    • Pipelines
    • Jobs
    • Schedules
  • Operations
    • Operations
    • Incidents
    • Environments
  • Packages & Registries
    • Packages & Registries
    • Container Registry
  • Analytics
    • Analytics
    • CI / CD
    • Repository
    • Value Stream
  • Snippets
    • Snippets
  • Members
    • Members
  • Collapse sidebar
  • Activity
  • Graph
  • Create a new issue
  • Jobs
  • Commits
  • Issue Boards
  • GStreamer
  • gst-plugins-goodgst-plugins-good
  • Merge Requests
  • !205

Merged
Opened May 16, 2019 by Tim-Philipp Müller@tpm🐠Owner

rtpssrcdemux: Avoid taking streamlock out-of-band

  • Overview 25
  • Commits 1
  • Pipelines 9
  • Changes 2

In this change we now protect the internal srcpads list using the stream lock and limit usage of the internal stream lock to preventing data flowing on the other src pad type while creating and signalling the new pad.

This fixes a deadlock with RTPBin shutdown lock. These two locks would end up being taken in two different order, which caused a deadlock. More generally, we should not rely on a streamlock when handling out-of-band data, so as a side effect, we should not take a stream lock when iterating internal links.

Spotted by Håvard Graff (@hgr).

Edited May 21, 2019 by Nicolas Dufresne
Assignee
Assign to
Reviewer
Request review from
1.17.1
Milestone
1.17.1 (Past due)
Assign milestone
Time tracking
Reference: gstreamer/gst-plugins-good!205
Source branch: rtpssrcdemux-deadlock-fix