> Degrade Thread.suspend/resume to throw UOE unconditionally.
> 
> Another step in the removal of this deadlock prone mis-feature from the 
> user-facing API. Thread.suspend/resume have been deprecated since JDK 1.2 
> (1998) and terminally deprecated since Java 14. ThreadGroup.suspend/resume 
> were degraded to throw UOE in Java 19. As of Java 19, Thread.suspend/resume 
> continues to work for platform threads but throws UOE for virtual threads. 
> The next step is to degrade both methods to throw UOE for all threads. A 
> corpus search of 19M classes in 113k JAR files found only 22 classes using 
> these methods so this change is unlikely to be disruptive.
> 
> The change requires some minor adjustments to the JVM TI and JDWP 
> specifications, and a minor update to the JDI docs.
> 
> Leonid Mesnik is working on 
> [PR10351](https://github.com/openjdk/jdk/pull/10351) to remove/replace the 
> last few usages of Thread.suspend/resume from the hotspot tests (most of 
> these can use JVMTI SuspendThread/ResumeThread).

Alan Bateman has updated the pull request with a new target base due to a merge 
or a rebase. The pull request now contains ten commits:

 - Update DegradedMethodsThrowUOE to test Thread.stop
 - Merge
 - Update modifyThread and modifyThreadGroup targets
 - Merge
 - Fix typo in test comment
 - Keep link to threadPrimitiveDeprecation.html
 - Merge
 - Tests
 - Initial commit

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

Changes: https://git.openjdk.org/jdk/pull/10324/files
 Webrev: https://webrevs.openjdk.org/?repo=jdk&pr=10324&range=01
  Stats: 466 lines in 17 files changed: 148 ins; 255 del; 63 mod
  Patch: https://git.openjdk.org/jdk/pull/10324.diff
  Fetch: git fetch https://git.openjdk.org/jdk pull/10324/head:pull/10324

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

Reply via email to