rtsp-server: Do not crash on nmapping of server
authorAlexander Schrab <alexas@axis.com>
Mon, 27 May 2013 10:58:07 +0000 (12:58 +0200)
committerSebastian Dröge <sebastian.droege@collabora.co.uk>
Mon, 27 May 2013 11:20:36 +0000 (13:20 +0200)
* generate error when gst_rtsp_connection_accept fails
* do not stop accepting incoming connections because
  accepting a client fails

https://bugzilla.gnome.org/show_bug.cgi?id=701072

gst/rtsp-server/rtsp-client.c
gst/rtsp-server/rtsp-server.c

index 8496aa0..debfbf9 100644 (file)
@@ -2499,7 +2499,8 @@ gst_rtsp_client_accept (GstRTSPClient * client, GSocket * socket,
 accept_failed:
   {
     gchar *str = gst_rtsp_strresult (res);
-
+    *error = g_error_new (GST_LIBRARY_ERROR, GST_LIBRARY_ERROR_FAILED,
+        "Could not accept client on server socket %p: %s", socket, str);
     GST_ERROR ("Could not accept client on server socket %p: %s", socket, str);
     g_free (str);
     return FALSE;
index ccfcf49..0035987 100644 (file)
@@ -1214,20 +1214,20 @@ gst_rtsp_server_io_func (GSocket * socket, GIOCondition condition,
   } else {
     GST_WARNING_OBJECT (server, "received unknown event %08x", condition);
   }
-  return TRUE;
+  return G_SOURCE_CONTINUE;
 
   /* ERRORS */
 client_failed:
   {
     GST_ERROR_OBJECT (server, "failed to create a client");
-    return FALSE;
+    return G_SOURCE_CONTINUE;
   }
 accept_failed:
   {
     GST_ERROR_OBJECT (server, "failed to accept client: %s", error->message);
     g_error_free (error);
     g_object_unref (client);
-    return FALSE;
+    return G_SOURCE_CONTINUE;
   }
 }