souphttpclientsink: Fix error leak and handle error

g_thread_try_new allows for possiblity of failures. In case it fails,
error is not handled and leaked.

https://bugzilla.gnome.org/show_bug.cgi?id=758260
This commit is contained in:
Vineeth TM 2015-11-18 14:48:36 +09:00 committed by Sebastian Dröge
parent 84b6743cf8
commit bd701b8ee5

View file

@ -562,10 +562,17 @@ gst_soup_http_client_sink_start (GstBaseSink * sink)
g_mutex_lock (&souphttpsink->mutex);
/* FIXME: error handling */
souphttpsink->thread = g_thread_try_new ("souphttpclientsink-thread",
thread_func, souphttpsink, &error);
if (error != NULL) {
GST_DEBUG_OBJECT (souphttpsink, "failed to start thread, %s",
error->message);
g_error_free (error);
g_mutex_unlock (&souphttpsink->mutex);
return FALSE;
}
GST_LOG_OBJECT (souphttpsink, "waiting for main loop thread to start up");
g_cond_wait (&souphttpsink->cond, &souphttpsink->mutex);
g_mutex_unlock (&souphttpsink->mutex);