From: Benjamin Otte Date: Thu, 17 Apr 2003 19:51:28 +0000 (+0000) Subject: release lock before doing signal handling X-Git-Tag: BRANCH-ERROR-ROOT~291 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=95b23e597dc73e44be4d7bfd61a7d7378ae3f00d;p=platform%2Fupstream%2Fgstreamer.git release lock before doing signal handling Original commit message from CVS: release lock before doing signal handling --- 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) {