On Fri, Nov 21, 2014 at 10:03:12AM +0200, Vlad Khorsun wrote:
> 19.11.2014 16:08, Michal Kubecek пишет:
> 
> > Could you check if first getaddrinfo() call returns EAI_FAMILY on
> > Windows XP without IPv6 support? The way I read the manual page it
> > should but I would rather make sure.
> 
>    On W2K3 without IPv6 i see that getaddrinfo() returns 0 and gai_result
> contains one entry with ai_family == AF_INET6. But later, call to socket()
> returns error 10047 (WSAEAFNOSUPPORT). Note, EAI_* codes is just an aliases
> for WSA* codes. In this case WSAEAFNOSUPPORT is an real error code for
> EAI_FAMILY.

That's unfortunate... I suppose the easiest way out of this would be
adding something like

#ifdef WIN_NT
        if (!host_str && /* Windows version < Vista */)
                gai_hints.ai_family = AF_INET;
#endif

This should also take care of XP/2003 with IPv6 support (making the
server listen on 0.0.0.0 by default).

>    BTW, always write OS error code with custom error message !

You mean the number in addition to its text representation?

                                                     Michal Kubecek


------------------------------------------------------------------------------
Download BIRT iHub F-Type - The Free Enterprise-Grade BIRT Server
from Actuate! Instantly Supercharge Your Business Reports and Dashboards
with Interactivity, Sharing, Native Excel Exports, App Integration & more
Get technology previously reserved for billion-dollar corporations, FREE
http://pubads.g.doubleclick.net/gampad/clk?id=157005751&iu=/4140/ostg.clktrk
Firebird-Devel mailing list, web interface at 
https://lists.sourceforge.net/lists/listinfo/firebird-devel

Reply via email to