Michael McMahon wrote:
Christopher Hegarty -Sun Microsystems Ireland wrote:
Hi All,

This patch fixes a problem where the socks proxy implementation does not honor the timeout specified in Socket.connect(SocketAddress, timeout). In fact, it uses the read timeout set with setSoTimeout since the socks implementation opens a connection to the socks server to perform the socks protocol. This also violates the spec since a timeout of 0 means block indefinitely.

It is worth noting that the proposed fix changes the current behavior as specified above; SO_TIMEOUT no longer impacts on the timeout when using a socks proxy.

Do you mean there that SO_TIMEOUT does not affect the connect behavior, but it still works
when reading off the socket after it is connected?

Yes, this is correct. Since we need to read off the socket during the connection process to implement the socks protocol, the SO_TIMEOUT (before this fix) had an impact on the connection timeout. After this change SO_TIMEOUT will only impact on SocketInputStream reads, connection timeout can be implemented through the Socket.connect API.

-Chris.


Thanks
Michael

Reply via email to