If several threads attempt to read from a Socket's input stream at the same 
time then all but the winner will block trying to acquire the read lock.  This 
is okay for untimed-reads but surprising for timed-reads as the timeout is only 
effective after acquiring the lock. The SocketImpl is changed so that the 
timeout applies to the total time waiting to acquire and read.

A new test is added to the existing java/net/Socket/Timeouts test. It is 
migrated from TestNG to a JUnit test as a drive-by change - it's mostly 
mechanical and the changes kept as minimal as possible.

-------------

Commit messages:
 - Initial commit

Changes: https://git.openjdk.org/jdk/pull/25614/files
  Webrev: https://webrevs.openjdk.org/?repo=jdk&pr=25614&range=00
  Issue: https://bugs.openjdk.org/browse/JDK-8358496
  Stats: 173 lines in 2 files changed: 67 ins; 11 del; 95 mod
  Patch: https://git.openjdk.org/jdk/pull/25614.diff
  Fetch: git fetch https://git.openjdk.org/jdk.git pull/25614/head:pull/25614

PR: https://git.openjdk.org/jdk/pull/25614

Reply via email to