Fabio Massimo Di Nitto writes:
> On Tue, 22 Jul 2003, Matthias Scheler wrote:
>
> > On Tue, Jul 22, 2003 at 08:03:35PM +0200, Egbert Eich wrote:
> > > The current CVS code produces the error:
> > >
> > > _XSERVTransSocketINETCreateListener: ...SocketCreateListener() failed
> > > _XSERVTransMakeAllCOTSServerListeners: server already running
> > >
> > > Fatal server error:
> > > Cannot establish any listening sockets - Make sure an X server isn't already
> > > running
> > >
> > > bind() returns an EADDRINUSE error when binding to the second IP
> > > protocol (in CVS it is IPv6).
> > >
> > > When I switch the order of initialization around and skip the IPv4
> > > protocol if IPv6 initialization was successful, everything works:
> > > I can connect thru IPv6 and IPv4.
> >
> > This sounds like a bug in Linux's socket implementation.
>
> Not really. Linux has been always working like this. the USAGI patch for
> linux kernel implements a runtime configurable option to separate ipv6 and
> ipv4 bindings.
Something like:
int off = 0;
[...]
if (setsockopt(listen_socket, IPPROTO_IPV6, IPV6_V6ONLY, &off,
sizeof (off)) < 0) {
?
This of course would help, however it wouldn't address the problem on
the existing systems.
Egbert.
_______________________________________________
Devel mailing list
[EMAIL PROTECTED]
http://XFree86.Org/mailman/listinfo/devel