tcpserversink: don't error out if clients send us something, just ignore it

We don't expect clients to send us any data, but if they do, just
ignore it. Web browsers might send us an HTTP request for example,
but some will still be happy if we just send them data without
a proper HTTP response.

There was a bug in the reading code path. We only have a small
read buffer and would provoke an EWOULDBLOCK trying to read
because we don't bail out of the loop early enough.

https://bugzilla.gnome.org/show_bug.cgi?id=743834
This commit is contained in:
Tim-Philipp Müller 2015-04-04 21:38:40 +01:00
parent 73278948a3
commit 6db2ee56b6

View file

@ -575,7 +575,7 @@ gst_multi_socket_sink_handle_client_read (GstMultiSocketSink * sink,
GST_DEBUG_OBJECT (sink, "%s client wants us to read", mhclient->debug);
navail = g_socket_get_available_bytes (mhclient->handle.socket);
if (navail < 0)
if (navail <= 0)
break;
nread =