From 95b23e597dc73e44be4d7bfd61a7d7378ae3f00d Mon Sep 17 00:00:00 2001 From: Benjamin Otte Date: Thu, 17 Apr 2003 19:51:28 +0000 Subject: [PATCH] release lock before doing signal handling Original commit message from CVS: release lock before doing signal handling --- gst/gstqueue.c | 2 ++ plugins/elements/gstqueue.c | 2 ++ 2 files changed, 4 insertions(+) diff --git a/gst/gstqueue.c b/gst/gstqueue.c index 683a996..b41ef3f 100644 --- a/gst/gstqueue.c +++ b/gst/gstqueue.c @@ -352,7 +352,9 @@ restart: GST_DEBUG_ELEMENT (GST_CAT_DATAFLOW, queue, "adding buffer %p of size %d",buf,GST_BUFFER_SIZE(buf)); if (queue->level_buffers == queue->size_buffers) { + g_mutex_unlock (queue->qlock); g_signal_emit (G_OBJECT (queue), gst_queue_signals[FULL], 0); + g_mutex_lock (queue->qlock); /* if this is a leaky queue... */ if (queue->leaky) { diff --git a/plugins/elements/gstqueue.c b/plugins/elements/gstqueue.c index 683a996..b41ef3f 100644 --- a/plugins/elements/gstqueue.c +++ b/plugins/elements/gstqueue.c @@ -352,7 +352,9 @@ restart: GST_DEBUG_ELEMENT (GST_CAT_DATAFLOW, queue, "adding buffer %p of size %d",buf,GST_BUFFER_SIZE(buf)); if (queue->level_buffers == queue->size_buffers) { + g_mutex_unlock (queue->qlock); g_signal_emit (G_OBJECT (queue), gst_queue_signals[FULL], 0); + g_mutex_lock (queue->qlock); /* if this is a leaky queue... */ if (queue->leaky) { -- 2.7.4