> The Utils.remaining(List<ByteBuffer> list) method assumes that it can and 
> should synchronize on the given list to prevent concurrent modification. In 
> 99% of the cases this assumption is wrong. There's only one such list (the 
> SSLFlowDelegate writeList) that requires this synchronization. 
> 
> Also the `SequentialScheduler.synchronizedScheduler` uses `synchronized`, it 
> could use a Lock instead and this would make it possible to assert that there 
> is no contention (since the logic of the SequentialScheduler is supposed to 
> prevent contention from occurring at this place).

Daniel Fuchs has updated the pull request incrementally with one additional 
commit since the last revision:

  8267990: Revisit some uses of `synchronized` in the HttpClient API

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

Changes:
  - all: https://git.openjdk.java.net/jdk/pull/4275/files
  - new: https://git.openjdk.java.net/jdk/pull/4275/files/c2f49a5f..7d92e7bd

Webrevs:
 - full: https://webrevs.openjdk.java.net/?repo=jdk&pr=4275&range=01
 - incr: https://webrevs.openjdk.java.net/?repo=jdk&pr=4275&range=00-01

  Stats: 6 lines in 1 file changed: 3 ins; 0 del; 3 mod
  Patch: https://git.openjdk.java.net/jdk/pull/4275.diff
  Fetch: git fetch https://git.openjdk.java.net/jdk pull/4275/head:pull/4275

PR: https://git.openjdk.java.net/jdk/pull/4275

Reply via email to