[Bug 666644] New: udpsrc: infinite loop on dataless UDP packets
GStreamer (bugzilla.gnome.org)
bugzilla at gnome.org
Wed Dec 21 04:36:32 PST 2011
https://bugzilla.gnome.org/show_bug.cgi?id=666644
GStreamer | gst-plugins-good | git
Summary: udpsrc: infinite loop on dataless UDP packets
Classification: Platform
Product: GStreamer
Version: git
OS/Version: Linux
Status: UNCONFIRMED
Severity: major
Priority: Normal
Component: gst-plugins-good
AssignedTo: gstreamer-bugs at lists.freedesktop.org
ReportedBy: john.ogness at linutronix.de
QAContact: gstreamer-bugs at lists.freedesktop.org
GNOME version: ---
Created an attachment (id=204028)
View: https://bugzilla.gnome.org/attachment.cgi?id=204028
Review: https://bugzilla.gnome.org/review?bug=666644&attachment=204028
this patch avoids the infinite loop
It is allowed to send/receive UDP packets with no data. When such a packet is
available, select() will return with success but ioctl(FIONREAD) will return 0.
But a read() must still occur in order to clear off the UDP packet from the
queue.
This patch will read the dataless packet from the socket. If select() was woken
for other reasons (and FIONREAD returns 0), this may result in a UDP packet
getting accidentally dropped. But since UDP is not reliable, this is
acceptable.
NOTE: This patch fixes a nasty bug where sending a dataless UDP packet to a
udpsrc instance will cause an infinite loop.
--
Configure bugmail: https://bugzilla.gnome.org/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the QA contact for the bug.
You are the assignee for the bug.
More information about the gstreamer-bugs
mailing list