GNOME Bugzilla – Bug 687781
udpsrc does not handle EHOSTUNREACH for Linux as it does for Win32
Last modified: 2012-11-09 10:05:17 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
Thanks for the bug report. This particular bug has already been reported into our bug tracking system, but please feel free to report any further bugs you find. *** This bug has been marked as a duplicate of bug 687782 ***