Please review the patch for the JDK-8274524 SSLSocket.close() could cause an intermittent hang of the socket read operation. It happens in case of SO_TIMEOUT is set to 0 (infinite timeout). SSLSocket.close() reads from the socket as part of the skip() operation to prevent TCP Connection reset (see JDK-8268965). Socket reads are performed in a loop for small chunks. These read operations could cause a deadlock, in case of SO_TIMEOUT = 0 I suggest to force non-zero SO_TIMEOUT during the skip() operation to prevent such deadlock
This is a second iteration of review. Previous PR was closed without integration: https://github.com/openjdk/jdk/pull/5760 ------------- Commit messages: - Add read timeout for deplete - Fix jcheck issues - Add ClientSocketCloseHang jtreg test - Reimplemented readLock, added lock in readHandshakeRecord - 8274524: SSLSocket.close() hangs if it is called during the ssl handshake Changes: https://git.openjdk.java.net/jdk/pull/7432/files Webrev: https://webrevs.openjdk.java.net/?repo=jdk&pr=7432&range=00 Issue: https://bugs.openjdk.java.net/browse/JDK-8274524 Stats: 146 lines in 2 files changed: 146 ins; 0 del; 0 mod Patch: https://git.openjdk.java.net/jdk/pull/7432.diff Fetch: git fetch https://git.openjdk.java.net/jdk pull/7432/head:pull/7432 PR: https://git.openjdk.java.net/jdk/pull/7432