New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
8277861: Terminally deprecate Thread.stop #6616
Conversation
/csr |
👋 Welcome back alanb! A progress list of the required criteria for merging this PR into |
@AlanBateman has indicated that a compatibility and specification (CSR) request is needed for this pull request. |
@AlanBateman The following label will be automatically applied to this pull request:
When this pull request is ready to be reviewed, an "RFR" email will be sent to the corresponding mailing list. If you would like to change these labels, use the /label pull request command. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Past time for this to go.
Mailing list message from Alan Snyder on core-libs-dev: Although I understand the potential dangers of using Thread.stop, it seems to me there are cases where its use is legitimate and valuable. The examples I am thinking of involve a potentially long running computation whose result is no longer needed. Is there some alternative that can be used in such cases? Perhaps a version of stop() that only works if no locks are held? Alan
|
Mailing list message from Alan Bateman on core-libs-dev: On 30/11/2021 17:13, Alan Snyder wrote:
JCiP Ch.7 has some good advice on this topic. In general, it needs the -Alan |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Let's this go away! 😍
Mailing list message from Alan Snyder on core-libs-dev: I think you are saying that to kill a thread running native code I would need to use native code. Is that right?
|
@AlanBateman This change now passes all automated pre-integration checks. ℹ️ This project also has non-automated pre-integration requirements. Please see the file CONTRIBUTING.md for details. After integration, the commit message for the final commit will be:
You can use pull request commands such as /summary, /contributor and /issue to adjust it as needed. At the time when this comment was updated there had been 13 new commits pushed to the
As there are no conflicts, your changes will automatically be rebased on top of these commits when integrating. If you prefer to avoid this automatic rebasing, please check the documentation for the /integrate command for further details. ➡️ To integrate this PR with the above commit message to the |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Approved with extreme prejudice. :)
/integrate |
Going to push as commit fde0b95.
Your commit was automatically rebased without conflicts. |
@AlanBateman Pushed as commit fde0b95. 💡 You may see a message that your pull request was closed with unmerged commits. This can be safely ignored. |
Mailing list message from David Holmes on core-libs-dev: On 1/12/2021 3:13 am, Alan Snyder wrote:
No there really aren't. :) The perceived utility of stop() is an Cheers,
|
Mailing list message from Alan Snyder on core-libs-dev:
It seems that it should be possible to stop a thread spawned to execute code in a native library that works on data in native memory..
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Endorsed.
Thread.stop is inherently unsafe and has been deprecated since Java 1.2 (1998). It's time to terminally deprecate this method so it can be degraded and removed in the future.
This PR does not propose any changes to the JVM TI StopThread function (or the corresponding JDWP command or JDI method).
Progress
Issues
Reviewers
Reviewing
Using
git
Checkout this PR locally:
$ git fetch https://git.openjdk.java.net/jdk pull/6616/head:pull/6616
$ git checkout pull/6616
Update a local copy of the PR:
$ git checkout pull/6616
$ git pull https://git.openjdk.java.net/jdk pull/6616/head
Using Skara CLI tools
Checkout this PR locally:
$ git pr checkout 6616
View PR using the GUI difftool:
$ git pr show -t 6616
Using diff file
Download this PR as a diff file:
https://git.openjdk.java.net/jdk/pull/6616.diff