Subject: Re: JDK1.1.1 (L*NUX port), was Re: applix
To: Nathaniel D. Daw <daw@panix.com>
From: Todd Vierling <tv@pobox.com>
List: port-i386
Date: 06/27/1997 13:42:15
On Fri, 27 Jun 1997, Nathaniel D. Daw wrote:

: It had something to do with attempting a nonblocking connect(), which
: either works differently under Linux  or is improperly implemented in the
: JDK. From a ktrace, I think I found the JDK connect()s to the socket,
: select()s for completion, and then, when the select returns that the
: connection is complete, calls connect() a second time, getting the EISCONN

Funny; Pine relies on this behavior of a nonblocking connect (the EISCONN
return of the second call to connect()) to verify that a socket is connected
on most OSes.  It's therefore very likely that the nb connect() procedure is
indeed different in Linux.  If this can be verified, I suggest the fix below
be committed to the tree for completeness's sake.

: It's ugly, but you can patch the linux connect() wrapper code to silently
: return, supressing the EISCONN, and it works fine. With no access to the
: jdk source, nor to a real linux system, I was never able to confirm
: exactly what was wrong.

=====
== Todd Vierling (Personal tv@pobox.com; Business tv@iag.net) Foo-bar-baz! ==
== System administrator/technician, Internet Access Group, Orlando Florida ==
== Dialups in Orange, Volusia, Lake, Osceola counties - http://www.iag.net ==