udpsrc and EHOSTUNREACH

Robert Krakora robkrakora at att.net
Fri Nov 2 09:38:49 PDT 2012


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
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.freedesktop.org/archives/gstreamer-devel/attachments/20121102/b93d0754/attachment.html>


More information about the gstreamer-devel mailing list