From b1e53a17fd3b276cb05e90ff1d5614cb77616e0f Mon Sep 17 00:00:00 2001 From: Antoine Cellerier Date: Sat, 6 Feb 2010 16:49:27 +0100 Subject: [PATCH] Add some locking. --- src/input/vlm.c | 4 ++++ src/input/vlmshell.c | 2 ++ 2 files changed, 6 insertions(+) diff --git a/src/input/vlm.c b/src/input/vlm.c index 18017f4f39..46e01fbc90 100644 --- a/src/input/vlm.c +++ b/src/input/vlm.c @@ -106,7 +106,9 @@ static int InputEvent( vlc_object_t *p_this, char const *psz_cmd, } vlm_SendEventMediaInstanceState( p_vlm, p_media->cfg.id, p_media->cfg.psz_name, psz_instance_name, var_GetInteger( p_input, "state" ) ); + vlc_mutex_lock( &p_vlm->lock_manage ); vlc_cond_signal( &p_vlm->wait_manage ); + vlc_mutex_unlock( &p_vlm->lock_manage ); } return VLC_SUCCESS; } @@ -216,7 +218,9 @@ static void vlm_Destructor( vlm_t *p_vlm ) vlm_ControlInternal( p_vlm, VLM_CLEAR_SCHEDULES ); TAB_CLEAN( p_vlm->schedule, p_vlm->schedule ); + vlc_mutex_lock( &p_vlm->lock_manage ); vlc_cond_signal( &p_vlm->wait_manage ); + vlc_mutex_unlock( &p_vlm->lock_manage ); libvlc_priv(p_vlm->p_libvlc)->p_vlm = NULL; vlc_object_kill( p_vlm ); diff --git a/src/input/vlmshell.c b/src/input/vlmshell.c index c9fe99cc82..16ce1e3362 100644 --- a/src/input/vlmshell.c +++ b/src/input/vlmshell.c @@ -995,7 +995,9 @@ static vlm_schedule_sys_t *vlm_ScheduleNew( vlm_t *vlm, const char *psz_name ) TAB_APPEND( vlm->i_schedule, vlm->schedule, p_sched ); + vlc_mutex_lock( &vlm->lock_manage ); vlc_cond_signal( &vlm->wait_manage ); + vlc_mutex_unlock( &vlm->lock_manage ); return p_sched; } -- 2.39.2