Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 8 Jan 1998 01:10:58 +0100
From:      pb@fasterix.freenix.org (Pierre Beyssac)
To:        mike@smith.net.au (Mike Smith)
Cc:        emulation@freebsd.org
Subject:   Re: playing with the Linux JDK 1.1.3 under -current
Message-ID:  <19980108011058.AW19380@@>
In-Reply-To: <199801070630.RAA00809@word.smith.net.au>; from Mike Smith on Jan 7, 1998 17:00:37 %2B1030
References:  <19980107015053.TL50316@@> <199801070630.RAA00809@word.smith.net.au>

next in thread | previous in thread | raw e-mail | index | archive | help
Mike Smith writes:
> > It all looks like subtle differences in the handling of non-blocking
> > sockets between Linux and FreeBSD. Does anyone know about any such
> 
> I think the correct answer is "please tell us when you have fixes".  8)

Ok :-)

I've been able to confirm the difference is in connect() error
codes. On Linux, repeated connect() calls on the same non-blocking
socket return EINPROGRESS as long as the connection is pending,
then 0 exactly once, then EISCONN. FreeBSD (and SunOS) return
EISCONN instead of 0 when the connection is completed.

I have to improve my fix somewhat before I send it to you for
commit, so that it ignores EISCONN only when in non-blocking mode.
It still won't not be entirely correct because it should ignore
EISCONN exactly once and I have no idea how to achieve that simply.
Anyway, it's probably not desirable to have a 100% Linux behaviour
on that one, as the code would be needlessly twisted :-)
-- 
Pierre Beyssac	      pb@fasterix.frmug.org pb@fasterix.freenix.org
{Free,Net,Open}BSD, Linux : il y a moins bien, mais c'est plus cher
    Free domains: http://www.eu.org/ or mail dns-manager@EU.org



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?19980108011058.AW19380>