Hi All,
I have found that the same code that was added to udpsrc for WSAECONNRESET for WIN32 is also needed for EHOSTUNREACH for Linux. I have spend the last two days tracking this down and would not have found it for some time had the WSAECONNRESET fix for WIN32 not been present in the code. #ifdef G_OS_WIN32 /* WSAECONNRESET for a UDP socket means that a packet sent with udpsink * generated a "port unreachable" ICMP response. We ignore that and try * again. */ if (WSAGetLastError () == WSAECONNRESET) { g_free (pktdata); pktdata = NULL; goto retry; } if (WSAGetLastError () != WSAEINTR) goto receive_error; #else /* EHOSTUNREACH for a UDP socket means that a packet sent with udpsink * generated a "port unreachable" ICMP response. We ignore that and try * again. */ if (errno == EHOSTUNREACH) { g_free (pktdata); pktdata = NULL; goto retry; } if (errno != EAGAIN && errno != EINTR) goto receive_error; #endif Best Regards, Rob Krakora _______________________________________________ gstreamer-devel mailing list [hidden email] http://lists.freedesktop.org/mailman/listinfo/gstreamer-devel |
This is in gstudpsrc.c...anyone? This fixes the issue, should I open a bug report? From: Robert Krakora <[hidden email]> To: [hidden email] Cc: [hidden email] Sent: Fri, November 2, 2012 12:38:50 PM Subject: udpsrc and EHOSTUNREACH Hi All,
I have found that the same code that was added to udpsrc for WSAECONNRESET for WIN32 is also needed for EHOSTUNREACH for Linux. I have spend the last two days tracking this down and would not have found it for some time had the WSAECONNRESET fix for WIN32 not been present in the code. #ifdef G_OS_WIN32 /* WSAECONNRESET for a UDP socket means that a packet sent with udpsink * generated a "port unreachable" ICMP response. We ignore that and try * again. */ if (WSAGetLastError () == WSAECONNRESET) { g_free (pktdata); pktdata = NULL; goto retry; } if (WSAGetLastError () != WSAEINTR) goto receive_error; #else /* EHOSTUNREACH for a UDP socket means that a packet sent with udpsink * generated a "port unreachable" ICMP response. We ignore that and try * again. */ if (errno == EHOSTUNREACH) { g_free (pktdata); pktdata = NULL; goto retry; } if (errno != EAGAIN && errno != EINTR) goto receive_error; #endif Best Regards, Rob Krakora _______________________________________________ gstreamer-devel mailing list [hidden email] http://lists.freedesktop.org/mailman/listinfo/gstreamer-devel |
On Mon, 2012-11-05 at 12:22 -0800, Robert Krakora wrote:
> This is in gstudpsrc.c...anyone? This fixes the issue, should I open > a bug report? In general, patches should be submitted via bugzilla, yes. But you might want to check if it's still an issue with the 1.x udpsrc, since it has been rewritten on top of GLib's networking stack. Cheers -Tim > > ______________________________________________________________________ > From: Robert Krakora <[hidden email]> > To: [hidden email] > Cc: [hidden email] > Sent: Fri, November 2, 2012 12:38:50 PM > Subject: udpsrc and EHOSTUNREACH > > Hi All, > > I have found that the same code that was added to udpsrc for > WSAECONNRESET for WIN32 is also needed for EHOSTUNREACH for Linux. I > have spend the last two days tracking this down and would not have > found it for some time had the WSAECONNRESET fix for WIN32 not been > present in the code. > > #ifdef G_OS_WIN32 > /* WSAECONNRESET for a UDP socket means that a packet sent with > udpsink > * generated a "port unreachable" ICMP response. We ignore that > and try > * again. */ > if (WSAGetLastError () == WSAECONNRESET) { > g_free (pktdata); > pktdata = NULL; > goto retry; > } > if (WSAGetLastError () != WSAEINTR) > goto receive_error; > #else > /* EHOSTUNREACH for a UDP socket means that a packet sent with > udpsink > * generated a "port unreachable" ICMP response. We ignore that > and try > * again. */ > > if (errno == EHOSTUNREACH) { > g_free (pktdata); > pktdata = NULL; > goto retry; > } > if (errno != EAGAIN && errno != EINTR) > goto receive_error; > #endif > > Best Regards, > > Rob Krakora > > > _______________________________________________ > gstreamer-devel mailing list > [hidden email] > http://lists.freedesktop.org/mailman/listinfo/gstreamer-devel _______________________________________________ gstreamer-devel mailing list [hidden email] http://lists.freedesktop.org/mailman/listinfo/gstreamer-devel |
Free forum by Nabble | Edit this page |