< Previous by Date Date Index Next by Date >
< Previous in Thread Thread Index Next in Thread >

Re: [reSIProcate] unresponsive DNS query blocks stack thread if USE_IPV6 is not defined (windows)


After a quick look, seems odd to me as well.  Also if non-windows we never set the UDP socket to non-blocking.  What I don't get is why people on linux have not noticed a blocking problem yet.  TCP DNS sockets seem to be set as non-blocking properly for linux and windows both with and without the USE_IPV6 directive.

Scott

On Fri, Oct 29, 2010 at 10:52 AM, Justin Matthews <jmatthewsr@xxxxxxxxx> wrote:
Hi,

Does anyone know if it's intended behavior for the ares UDP socket to block
if USE_IPV6 is not defined (Windows OS)?  In ares_process.c ,
open_udp_socket() will set the socket non-blocking only if USE_IPV6 is
defined.  If DNS is misconfigured or there is no response for a DNS record
lookup, the resip stack thread will block indefinitely in the recv() call in
read_udp_packets().

Thanks,

-justin

_______________________________________________
resiprocate-devel mailing list
resiprocate-devel@xxxxxxxxxxxxxxx
https://list.resiprocate.org/mailman/listinfo/resiprocate-devel