1::We may create two sockets, IPv4 and IPv6. Call non-blocking accept to both of them. And poll() or select() or kqueue() on both sockets. In current Linux implementation, I think we do not need this kind of complexity. Linux kernels deal smoothly with faked IPv6 address. I expect it will be true for commercial Unix like AIX and Solaris. *:internet.h seems to have a lot of IPv6 incompatible functions. -*:why do you call <a.b.c.d:pppp> as sinful string? what does it mean 'sinful'? +*:why do you call <a.b.c.d:pppp> as sinful string? what does it mean 'sinful'? - Now that I know. This is Condor specific term. We need to extend definition to include IPv6 address. For example, <[a:b:c:d:e:f:g:h]:pppp> would work.