> Addresses Jdk 8288899 : java/util/concurrent/ExecutorService/CloseTest.java > failed with "InterruptedException: sleep interrupted" and related issues. > > This is a major ForkJoin update (and hard to review -- sorry) that finally > addresses incompatibilities between ExecutorService and ForkJoinPool (which > claims to implement it), with the goal of avoiding continuing bug reports and > incompatibilities. Doing this required reworking internal control to use > phaser/seqlock-style versioning schemes (affecting nearly every method) that > ensure consistent data structures and actions without requiring global > synchronization or locking on every task execution that would massively > degrade performance. The previous lack of a solution to this was the main > reason for these incompatibilities.
Doug Lea has updated the pull request with a new target base due to a merge or a rebase. The incremental webrev excludes the unrelated changes brought in by the merge/rebase. The pull request contains 79 additional commits since the last revision: - Merge branch 'openjdk:master' into JDK-8288899 - Revert Unsafe; reduce signal stalls - Merge branch 'openjdk:master' into JDK-8288899 - Strengthen translation of getAndX atomics; revert or adapt FJP accordingly - Merge branch 'openjdk:master' into JDK-8288899 - Force more orderings; improve diagnostics - Simplify signalling - Always help terminate when stopping - Merge branch 'openjdk:master' into JDK-8288899 - Use non-recursive tasks in close tests - ... and 69 more: https://git.openjdk.org/jdk/compare/3631c553...b9792f67 ------------- Changes: - all: https://git.openjdk.org/jdk/pull/14301/files - new: https://git.openjdk.org/jdk/pull/14301/files/d04ce80f..b9792f67 Webrevs: - full: https://webrevs.openjdk.org/?repo=jdk&pr=14301&range=32 - incr: https://webrevs.openjdk.org/?repo=jdk&pr=14301&range=31-32 Stats: 37363 lines in 768 files changed: 6088 ins; 1570 del; 29705 mod Patch: https://git.openjdk.org/jdk/pull/14301.diff Fetch: git fetch https://git.openjdk.org/jdk.git pull/14301/head:pull/14301 PR: https://git.openjdk.org/jdk/pull/14301