GNOME Bugzilla – Bug 687782
udpsrc does not handle EHOSTUNREACH for Linux as it does for Win32
Last modified: 2012-11-09 14:26:51 UTC
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
*** Bug 687781 has been marked as a duplicate of this bug. ***
commit c70ba7765a14ec6d3adef468dcd4454df9dc5c3a Author: Sebastian Dröge <sebastian.droege@collabora.co.uk> Date: Fri Nov 9 11:22:30 2012 +0100 udpsrc: Also clear GError commit b86d20e45baaaf284aeb4e4d677718fb1364bd9e Author: Sebastian Dröge <sebastian.droege@collabora.co.uk> Date: Fri Nov 9 11:20:27 2012 +0100 udpsrc: Don't error out if we get an ICMP destination-unreachable message when trying to read packets See bug #529454 and #687782 and commit 751f2bb3646f2beff3698c9f09900dbd0ea08abb
Hi Sebastian, My bug report is in regarsd to Linux and not Windows as Youness bug report and patch was. Did you notice this? Best Regards, Rob Krakora
Yes, I only referenced the other bug for more information about the issue.