Skip to content

Playlist subitem callback lock inversion

  • When a subitem is added to the input item of a playlist item:
  • vlc_event_send() takes the event manager event sending lock,
  • vlc_event_send() takes the event manager object lock,
  • vlc_event_send() releases the event manager object lock,
  • the playlist callback takes the playlist lock,
  • ...
  • When a playlist item is deleted:
  • The caller has the playlist lock since playlist_ItemRelease() asserts it,
  • vlc_event_detach() takes the event manager event sending lock,
  • vlc_event_detach() takes the event manager object lock.

There is a lock inversion between the input item's event manager's event sending lock and the playlist lock.

To upload designs, you'll need to enable LFS and have an admin enable hashed storage. More information