From 248d9c5273dadcce5485eb2c50bb035354451e6e Mon Sep 17 00:00:00 2001 From: Damien Fouilleul Date: Sun, 14 Oct 2007 20:21:56 +0000 Subject: [PATCH] playlist.c: removed potential deadlock and duplicate signalling --- src/playlist/engine.c | 6 +++--- src/playlist/thread.c | 1 - 2 files changed, 3 insertions(+), 4 deletions(-) diff --git a/src/playlist/engine.c b/src/playlist/engine.c index 04d82b80c4..1c81870702 100644 --- a/src/playlist/engine.c +++ b/src/playlist/engine.c @@ -334,14 +334,14 @@ check_input: if( p_item == NULL ) { msg_Dbg( p_playlist, "nothing to play" ); + p_playlist->status.i_status = PLAYLIST_STOPPED; + PL_UNLOCK + if( b_playexit == VLC_TRUE ) { msg_Info( p_playlist, "end of playlist, exiting" ); vlc_object_kill( p_playlist->p_libvlc ); } - p_playlist->status.i_status = PLAYLIST_STOPPED; - PL_UNLOCK - ObjectGarbageCollector( p_playlist, VLC_TRUE ); return; } diff --git a/src/playlist/thread.c b/src/playlist/thread.c index 30ae2858e5..94afef3a62 100644 --- a/src/playlist/thread.c +++ b/src/playlist/thread.c @@ -138,7 +138,6 @@ int playlist_ThreadDestroy( playlist_t * p_playlist ) { // Tell playlist to go to last loop vlc_object_kill( p_playlist ); - playlist_Signal( p_playlist ); // Kill preparser if( p_playlist->p_preparse ) -- 2.39.2