[vlc-commits] playlist/fetcher: fix vlc_interrupt assert

Thomas Guillem git at videolan.org
Wed Apr 6 19:07:59 CEST 2016


vlc | branch: master | Thomas Guillem <thomas at gllm.fr> | Wed Apr  6 18:59:22 2016 +0200| [0baad719c5fc47caee6e3429128800a8e1edc6f0] | committer: Thomas Guillem

playlist/fetcher: fix vlc_interrupt assert

The fetcher thread is not attached, and is not joined (and can't be joined).
When playlist_fetcher_Delete() wait for the thread to finish (b_live == false),
we can't be sure that the thread really exited, and that the thread interrupt
TSD is destroyed. To fix this issue, unset the interrupt context manually from
the Thread just before it's terminated.

This problem was brought by 7f8d972a2b0ff62ef02a9d562a9a8299dd2eb985 and was
breaking some tests (non systematic).

> http://git.videolan.org/gitweb.cgi/vlc.git/?a=commit;h=0baad719c5fc47caee6e3429128800a8e1edc6f0
---

 src/playlist/fetcher.c |    1 +
 1 file changed, 1 insertion(+)

diff --git a/src/playlist/fetcher.c b/src/playlist/fetcher.c
index 9baf3b7..ff1e94b 100644
--- a/src/playlist/fetcher.c
+++ b/src/playlist/fetcher.c
@@ -477,6 +477,7 @@ static void *Thread( void *p_data )
         }
         else
         {
+            vlc_interrupt_set( NULL );
             p_fetcher->b_live = false;
             vlc_cond_signal( &p_fetcher->wait );
         }



More information about the vlc-commits mailing list