[svn.haxx.se] · SVN Dev · SVN Users · SVN Org · TSVN Dev · TSVN Users · Subclipse Dev · Subclipse Users · this month's index

Re: svn commit: r13236 - in trunk: . subversion/svnserve

From: Philip Martin <philip_at_codematters.co.uk>
Date: 2005-03-04 03:48:04 CET

Daniel Berlin <dberlin@dberlin.org> writes:

> Again, that's not enough of an strace. Can you please put the whole
> thing somewhere?

If I skip the dynamic libraries being loaded then its

getcwd("/home/pm/sw/subversion/obj", 4096) = 27
gettimeofday({1109904369, 64689}, NULL) = 0
getpid() = 14751
open("/etc/resolv.conf", O_RDONLY) = 3
fstat64(3, {st_mode=S_IFREG|0644, st_size=32, ...}) = 0
old_mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x400d4000
read(3, "search lan\nnameserver 127.0.0.1\n", 4096) = 32
read(3, "", 4096) = 0
close(3) = 0
munmap(0x400d4000, 4096) = 0
socket(PF_INET6, SOCK_STREAM, IPPROTO_IP) = -1 EAFNOSUPPORT (Address family not supported by protocol)
write(2, "Can\'t create server socket: Addr"..., 69Can't create server socket: Address family not supported by protocol
) = 69
_exit(1) = ?

> APR has code that does this:
>
> int family = ofamily;
>
> if (family == APR_UNSPEC) {
> #if APR_HAVE_IPV6
> family = APR_INET6;
> #else
> family = APR_INET;
> #endif
> }
>
> alloc_socket(new, cont);
>
> (*new)->socketdes = socket(family, type, protocol);
>
> #if APR_HAVE_IPV6
> if ((*new)->socketdes < 0 && ofamily == APR_UNSPEC) {
> family = APR_INET;
> (*new)->socketdes = socket(family, type, protocol);
> }
> #endif
>
> if ((*new)->socketdes < 0) {
> return errno;
> }
> set_socket_vars(*new, family, type, protocol);
>
> (*new)->timeout = -1;
> (*new)->inherit = 0;
> apr_pool_cleanup_register((*new)->cntxt, (void *)(*new),
> socket_cleanup,
> socket_cleanup);
> return APR_SUCCESS;
>
>
> So it should try ipv6 first, then when it falis like it did in your
> strace, try regular ipv4.

It's coming in to the fucntion with ofamily=10, or APR_INET6, so it
never tries ipv4

-- 
Philip Martin
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@subversion.tigris.org
For additional commands, e-mail: dev-help@subversion.tigris.org
Received on Fri Mar 4 03:49:16 2005

This is an archived mail posted to the Subversion Dev mailing list.

This site is subject to the Apache Privacy Policy and the Apache Public Forum Archive Policy.