From a7644b3b1c05faeb5a045f24df51675c0752bc8d Mon Sep 17 00:00:00 2001 From: =?utf8?q?Tim-Philipp=20M=C3=BCller?= Date: Fri, 12 Aug 2011 19:27:21 +0100 Subject: [PATCH] queue2: fix deadlock in error path Don't lock the same lock twice. Spotted by Josep Torre Valles. --- plugins/elements/gstqueue2.c | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/plugins/elements/gstqueue2.c b/plugins/elements/gstqueue2.c index f1dce4b..349620f 100644 --- a/plugins/elements/gstqueue2.c +++ b/plugins/elements/gstqueue2.c @@ -2835,17 +2835,15 @@ gst_queue2_src_activate_pull (GstPad * pad, gboolean active) queue->is_eos = FALSE; queue->unexpected = FALSE; queue->upstream_size = 0; - GST_QUEUE2_MUTEX_UNLOCK (queue); } else { - GST_QUEUE2_MUTEX_LOCK (queue); GST_DEBUG_OBJECT (queue, "no temp file, cannot activate pull mode"); /* this is not allowed, we cannot operate in pull mode without a temp * file. */ queue->srcresult = GST_FLOW_WRONG_STATE; queue->sinkresult = GST_FLOW_WRONG_STATE; result = FALSE; - GST_QUEUE2_MUTEX_UNLOCK (queue); } + GST_QUEUE2_MUTEX_UNLOCK (queue); } else { GST_QUEUE2_MUTEX_LOCK (queue); GST_DEBUG_OBJECT (queue, "deactivating pull mode"); -- 2.7.4