From 1e82322d41bb1439a127db5842abd6bf50675ae8 Mon Sep 17 00:00:00 2001 From: Thomas Guillem Date: Thu, 12 Jul 2018 18:27:55 +0200 Subject: [PATCH] decoder: fix data race p_owner->b_draining need to be protected by the fifo lock. --- src/input/decoder.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/input/decoder.c b/src/input/decoder.c index 2c332a9d53..62717af48a 100644 --- a/src/input/decoder.c +++ b/src/input/decoder.c @@ -1635,12 +1635,12 @@ static void *DecoderThread( void *p_data ) /* TODO? Wait for draining instead of polling. */ vlc_mutex_lock( &p_owner->lock ); + vlc_fifo_Lock( p_owner->p_fifo ); if( p_owner->b_draining && (p_block == NULL) ) { p_owner->b_draining = false; p_owner->drained = true; } - vlc_fifo_Lock( p_owner->p_fifo ); vlc_cond_signal( &p_owner->wait_acknowledge ); vlc_mutex_unlock( &p_owner->lock ); } -- 2.11.4.GIT