[vlc-devel] [PATCH 5/7] playlist: fix deadlock on destruction while preparser adds items to playlist

Rémi Denis-Courmont remi at remlab.net
Wed Mar 22 18:44:08 CET 2017


Le keskiviikkona 22. maaliskuuta 2017, 17.58.45 EET Filip Roséen a écrit :
> As we can have incoming requests to the preparser while we are
> destroying libvlc, we can end up in a deadlock while we are removing
> all playlist_item_t from the playlist, while an item being preparsed
> tries to add additional items to the list.
> 
> These changes fixes the issue by introducing a preparser-deactivation
> function, that will make sure that we:
> 
>  1) clear out any pending preparsing requests
>  2) cancel the current item preparsing (blocking)
>  3) prevent further requests to the preparser

I cannot tell, at this point, if this patch actually solves one instance of 
the deadlock that is triggered through the preparser. But it cannot solve the 
deadlock in general, for the simple reason that the deadlock is entirely 
between playlist, input item and the VLC events nonsens*ahem* framework.

Unless this solves any other problem, this only adds complexity. No thanks.

-- 
雷米‧德尼-库尔蒙
https://www.remlab.net/



More information about the vlc-devel mailing list