[ace-users] question on ACE_INET_Addr

Phil Mesnier mesnier_p at ociweb.com
Wed Aug 1 21:20:17 CDT 2007


Premkumar P wrote:
> hi,
> thankx for the help i used ipv6_enabled to know if IPV6 is enabled or 
> not and use AF_INET or AF_INET6.
> but as the machine is running in a pure IPV4 env., when creating 
> ACE_Proactor error messgae " unable to open notification pipe, address 
> family not supported" is being printed ..
> by stepping in, found that notification pipe is being opened and the 
> address family is set to AF_INET6 by default (as ACE is compiled with 
> IPV6 support).

Right. When you prepare a build environment with "ipv6=1" in 
default.features a compiler macro, ACE_HAS_IPV6, is defined. This in 
turn causes ACE to make assumptions about the availability of that 
feature. In some cases a fallback to IPv4 occurs if an IPv6 based 
operation fails, but as you have learned, we are not 100% there yet.

> i think if ACE is compiled with IPV6 support it should still be able to 
> work fine in IPV4 environment !
> is there any workaround for this, i have to use the same ACE library on 
> all env. (IPV4, IPV6, IPV4-IPV6)

It would be great if you could contribute a patch to make this happen, 
or to sponsor one of the several commercial support providers to improve 
this support. See 
http://www.cs.wustl.edu/~schmidt/commercial-support.html for the list.

Alternatively, you could build an IPv4-only ace lib for deployment on 
hosts that lack IPv6 support.


Phil Mesnier
Principal Software Engineer,    http://www.ociweb.com
Object Computing, Inc.          +01.314.579.0066

More information about the Ace-users mailing list