From 37aa31379f006e577b7a46aabc6246574dad6f98 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Tim-Philipp=20M=C3=BCller?= Date: Fri, 24 Oct 2014 17:48:54 +0100 Subject: [PATCH] tcp: don't use soon-to-be-deprecated g_cancellable_reset() From the API documentation: "Note that it is generally not a good idea to reuse an existing cancellable for more operations after it has been cancelled once, as this function might tempt you to do. The recommended practice is to drop the reference to a cancellable after cancelling it, and let it die with the outstanding async operations. You should create a fresh cancellable for further async operations." https://bugzilla.gnome.org/show_bug.cgi?id=739132 --- gst/tcp/gstmultioutputsink.c | 3 ++- gst/tcp/gstmultisocketsink.c | 3 ++- gst/tcp/gsttcpclientsink.c | 3 ++- gst/tcp/gsttcpclientsrc.c | 3 ++- gst/tcp/gsttcpserversrc.c | 3 ++- 5 files changed, 10 insertions(+), 5 deletions(-) diff --git a/gst/tcp/gstmultioutputsink.c b/gst/tcp/gstmultioutputsink.c index 89f7e59ebe..205a3a89de 100644 --- a/gst/tcp/gstmultioutputsink.c +++ b/gst/tcp/gstmultioutputsink.c @@ -2786,7 +2786,8 @@ gst_multi_output_sink_unlock_stop (GstBaseSink * bsink) sink = GST_MULTI_OUTPUT_SINK (bsink); GST_DEBUG_OBJECT (sink, "unset flushing"); - g_cancellable_reset (sink->cancellable); + g_object_unref (sink->cancellable); + sink->cancellable = g_cancellable_new (); return TRUE; } diff --git a/gst/tcp/gstmultisocketsink.c b/gst/tcp/gstmultisocketsink.c index aed980835d..bc4e231422 100644 --- a/gst/tcp/gstmultisocketsink.c +++ b/gst/tcp/gstmultisocketsink.c @@ -1172,7 +1172,8 @@ gst_multi_socket_sink_unlock_stop (GstBaseSink * bsink) sink = GST_MULTI_SOCKET_SINK (bsink); GST_DEBUG_OBJECT (sink, "unset flushing"); - g_cancellable_reset (sink->cancellable); + g_object_unref (sink->cancellable); + sink->cancellable = g_cancellable_new (); return TRUE; } diff --git a/gst/tcp/gsttcpclientsink.c b/gst/tcp/gsttcpclientsink.c index 65a9d0128f..d23ded4fe3 100644 --- a/gst/tcp/gsttcpclientsink.c +++ b/gst/tcp/gsttcpclientsink.c @@ -419,7 +419,8 @@ gst_tcp_client_sink_unlock_stop (GstBaseSink * bsink) GstTCPClientSink *sink = GST_TCP_CLIENT_SINK (bsink); GST_DEBUG_OBJECT (sink, "unset flushing"); - g_cancellable_reset (sink->cancellable); + g_object_unref (sink->cancellable); + sink->cancellable = g_cancellable_new (); return TRUE; } diff --git a/gst/tcp/gsttcpclientsrc.c b/gst/tcp/gsttcpclientsrc.c index 2207563ebe..776ff42a69 100644 --- a/gst/tcp/gsttcpclientsrc.c +++ b/gst/tcp/gsttcpclientsrc.c @@ -485,7 +485,8 @@ gst_tcp_client_src_unlock_stop (GstBaseSrc * bsrc) GstTCPClientSrc *src = GST_TCP_CLIENT_SRC (bsrc); GST_DEBUG_OBJECT (src, "unset flushing"); - g_cancellable_reset (src->cancellable); + g_object_unref (src->cancellable); + src->cancellable = g_cancellable_new (); return TRUE; } diff --git a/gst/tcp/gsttcpserversrc.c b/gst/tcp/gsttcpserversrc.c index 9cd6ad6f41..72efb86ff9 100644 --- a/gst/tcp/gsttcpserversrc.c +++ b/gst/tcp/gsttcpserversrc.c @@ -559,7 +559,8 @@ gst_tcp_server_src_unlock_stop (GstBaseSrc * bsrc) { GstTCPServerSrc *src = GST_TCP_SERVER_SRC (bsrc); - g_cancellable_reset (src->cancellable); + g_object_unref (src->cancellable); + src->cancellable = g_cancellable_new (); return TRUE; }