[vlc-devel] commit: playlist: wait for preparser end from playlist thread. (Pierre d' Herbemont )
git version control
git at videolan.org
Sun Jul 13 23:56:42 CEST 2008
vlc | branch: master | Pierre d'Herbemont <pdherbemont at videolan.org> | Sun Jul 13 23:20:56 2008 +0200| [575659cfe809f32a46dd584b214f541dbd8609c7]
playlist: wait for preparser end from playlist thread.
> http://git.videolan.org/gitweb.cgi/vlc.git/?a=commit;h=575659cfe809f32a46dd584b214f541dbd8609c7
---
src/playlist/engine.c | 9 +++++----
1 files changed, 5 insertions(+), 4 deletions(-)
diff --git a/src/playlist/engine.c b/src/playlist/engine.c
index bb0f2e4..2aa85d1 100644
--- a/src/playlist/engine.c
+++ b/src/playlist/engine.c
@@ -170,15 +170,11 @@ static void playlist_Destructor( vlc_object_t * p_this )
if( p_playlist->p_preparse )
{
- vlc_object_kill( p_playlist->p_preparse );
- vlc_thread_join( p_playlist->p_preparse );
vlc_object_release( p_playlist->p_preparse );
}
if( p_playlist->p_fetcher )
{
- vlc_object_kill( p_playlist->p_fetcher );
- vlc_thread_join( p_playlist->p_fetcher );
vlc_object_release( p_playlist->p_fetcher );
}
msg_Dbg( p_this, "Destroyed" );
@@ -508,6 +504,11 @@ void playlist_LastLoop( playlist_t *p_playlist )
playlist_ServicesDiscoveryKillAll( p_playlist );
playlist_MLDump( p_playlist );
+ vlc_object_kill( p_playlist->p_preparse );
+ vlc_thread_join( p_playlist->p_preparse );
+ vlc_object_kill( p_playlist->p_fetcher );
+ vlc_thread_join( p_playlist->p_fetcher );
+
PL_LOCK;
FOREACH_ARRAY( playlist_item_t *p_del, p_playlist->all_items )
free( p_del->pp_children );
More information about the vlc-devel
mailing list