implementing custom socket factory for RMI using JSSE1.0.2 and JDK1.3.0.
Everything runs fine when the Server is running on Windows NT. When the server runs on Linux RedHat6.2, the TCP Connection threads never finish, even after the client terminates the connection.
For each "TCP Connection" thread an "RMI ConnectionExpiration" thread is created, and later closes the socket, but the "TCP Connection" threads remain active, waiting on the "java.net.SocketInputStream.socketRead" method.
The same program using RMIClientSocketFactory and RMIServerSocketFactory that generate regular sockets works OK on both Windows and Linux.
Everything runs fine when the Server is running on Windows NT. When the server runs on Linux RedHat6.2, the TCP Connection threads never finish, even after the client terminates the connection.
For each "TCP Connection" thread an "RMI ConnectionExpiration" thread is created, and later closes the socket, but the "TCP Connection" threads remain active, waiting on the "java.net.SocketInputStream.socketRead" method.
The same program using RMIClientSocketFactory and RMIServerSocketFactory that generate regular sockets works OK on both Windows and Linux.
- duplicates
-
JDK-4344135 Linux: close is not preemptive
- Closed