From 66b2d87574e61f5bf293ffd29235819805d0fd96 Mon Sep 17 00:00:00 2001 From: =?utf8?q?R=C3=A9mi=20Denis-Courmont?= Date: Sun, 29 Nov 2009 13:16:51 +0200 Subject: [PATCH] Fix potential deadlock when changing audio channels (fixes #2240) --- src/audio_output/intf.c | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/src/audio_output/intf.c b/src/audio_output/intf.c index 1e0d8b9315..3476ad3ce8 100644 --- a/src/audio_output/intf.c +++ b/src/audio_output/intf.c @@ -286,15 +286,16 @@ static int aout_Restart( aout_instance_t * p_aout ) return -1; } - /* Lock all inputs. */ - aout_lock_input_fifos( p_aout ); - for ( i = 0; i < p_aout->i_nb_inputs; i++ ) { aout_lock_input( p_aout, p_aout->pp_inputs[i] ); + aout_lock_input_fifos( p_aout ); aout_InputDelete( p_aout, p_aout->pp_inputs[i] ); + aout_unlock_input_fifos( p_aout ); } + /* Lock all inputs. */ + aout_lock_input_fifos( p_aout ); aout_MixerDelete( p_aout ); /* Re-open the output plug-in. */ -- 2.39.2