From: Wim Taymans Date: Mon, 12 Nov 2012 15:30:16 +0000 (+0100) Subject: server: free old socket X-Git-Tag: 1.19.3~495^2~1299 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=65fa5166779e6accd2cbf2829097a85e59f9f7c2;p=platform%2Fupstream%2Fgstreamer.git server: free old socket --- diff --git a/gst/rtsp-server/rtsp-server.c b/gst/rtsp-server/rtsp-server.c index a36757b..0edf635 100644 --- a/gst/rtsp-server/rtsp-server.c +++ b/gst/rtsp-server/rtsp-server.c @@ -1097,7 +1097,7 @@ GSource * gst_rtsp_server_create_source (GstRTSPServer * server, GCancellable * cancellable, GError ** error) { - GSocket *socket; + GSocket *socket, *old; GSource *source; g_return_val_if_fail (GST_IS_RTSP_SERVER (server), NULL); @@ -1105,7 +1105,14 @@ gst_rtsp_server_create_source (GstRTSPServer * server, socket = gst_rtsp_server_create_socket (server, NULL, error); if (socket == NULL) goto no_socket; + + GST_RTSP_SERVER_LOCK (server); + old = server->socket; server->socket = g_object_ref (socket); + GST_RTSP_SERVER_UNLOCK (server); + + if (old) + g_object_unref (old); /* create a watch for reads (new connections) and possible errors */ source = g_socket_create_source (socket, G_IO_IN |