From c7eb703de55f9a0a0a03de0e025ad342bd1ab11a Mon Sep 17 00:00:00 2001 From: =?utf8?q?S=C3=A9bastien=20Escudier?= Date: Thu, 5 Feb 2009 14:08:22 +0100 Subject: [PATCH] Fix a race condition between rtsp and httpd MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit This can happen when a rtsp client teardown : RtspCallback is called. But at the same time, if the media is deleted, (MediaDel), RtspClientDel can be called twice on the same p_media/p_rtsp Signed-off-by: Rémi Denis-Courmont --- modules/misc/rtsp.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/modules/misc/rtsp.c b/modules/misc/rtsp.c index 18213d409b..0dd3e93cce 100644 --- a/modules/misc/rtsp.c +++ b/modules/misc/rtsp.c @@ -472,11 +472,12 @@ static void MediaDel( vod_t *p_vod, vod_media_t *p_media ) TAB_REMOVE( p_sys->i_media, p_sys->media, p_media ); vlc_mutex_unlock( &p_sys->lock_media ); + httpd_UrlDelete( p_media->p_rtsp_url ); + while( p_media->i_rtsp > 0 ) RtspClientDel( p_media, p_media->rtsp[0] ); TAB_CLEAN( p_media->i_rtsp, p_media->rtsp ); - httpd_UrlDelete( p_media->p_rtsp_url ); free( p_media->psz_rtsp_path ); free( p_media->psz_rtsp_control_v6 ); free( p_media->psz_rtsp_control_v4 ); -- 2.39.5