On Fri, Apr 15, 2011 at 5:41 AM, Alexey Ozeritsky <aozerit...@gmail.com> wrote: > HI, > > HTTP-client from evhttp (libevent-2.0.10-stable) does not work with > ipv6 because it creates AF_INET socket. > Patch that solves that problem attached. >
This is indeed a bug, but it needs a better fix. The code you attached will add an extra blocking name lookup to every http request for which bind_address isn't set. (The extra lookup is bad because it duplicates the name lookup that will happen later; having it be a blocking lookup is bad because it's not great to have people's programs pause while waiting for a DNS server to respond.) Instead, I wonder if we can get away with simply not setting the fd at all when we're not binding a socket. That way, bufferevent_socket_connect_hostname can do the right thing and allocate the socket later, once it knows what address family to use. This would require some changes in the evhttp code, though, especially at any point where we look at evcon->fd to see whether the connection is set up or not. -- Nick *********************************************************************** To unsubscribe, send an e-mail to majord...@freehaven.net with unsubscribe libevent-users in the body.