RFR: 8282952: Thread::exit should be immune to Thread.stop [v2]

Daniel D.Daugherty dcubed at openjdk.java.net
Tue Mar 22 14:28:36 UTC 2022


On Tue, 22 Mar 2022 02:38:13 GMT, David Holmes <dholmes at openjdk.org> wrote:

>> To allow Thread::exit to be immune from asynchronous exceptions causing corruption of state we introduce a simple async exception delivery deferral mechanism. Note that we still allow async exceptions to become the "pending async exception" so they are not lost (potentially desirable in other usecases), but we defer the delivery of that exception i.e when it is moved from being the "pending async exception" to being the "current pending exception" (which is the exception actually in the process of being propagated).
>> 
>> Testing:
>>  - runtime/Thread/StopAtExit.java combined with logging and debugging hooks to show that exceptions were being deferred
>>  - tiers 1-3
>> 
>> Thanks,
>> David
>
> David Holmes has updated the pull request incrementally with one additional commit since the last revision:
> 
>   Improved comment - @dcubed feedback

I'm good with this change going in as is so that it is more
easily backported. @pchilano's change to async exceptions
can change the mechanism moving forward.

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

Marked as reviewed by dcubed (Reviewer).

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


More information about the hotspot-runtime-dev mailing list