[reSIProcate] unresponsive DNS query blocks stack thread if USE_IPV6 is not defined (windows)
Justin Matthews
jmatthewsr at gmail.com
Mon Nov 1 09:34:06 CDT 2010
Updated ares_process.c to set UDP sockets non-blocking for build
configurations where they were previously blocking:
. Windows where USE_IPV6 was not defined
. All non-windows builds
-justin
From: slgodin at gmail.com [mailto:slgodin at gmail.com] On Behalf Of Scott Godin
Sent: Friday, October 29, 2010 8:05 PM
To: Justin Matthews
Cc: resiprocate-devel
Subject: 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 at gmail.com>
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 at resiprocate.org
https://list.resiprocate.org/mailman/listinfo/resiprocate-devel
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://list.resiprocate.org/pipermail/resiprocate-devel/attachments/20101101/7ffe9500/attachment.htm>
More information about the resiprocate-devel
mailing list