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>
