RFR: 8358496: Concurrent reading from Socket with timeout executes sequentially
Alan Bateman
alanb at openjdk.org
Tue Jun 3 14:02:18 UTC 2025
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
More information about the net-dev
mailing list