On Mon, Apr 25, 2022 at 9:25 AM <remi.catheri...@orange.com> wrote:
>
> Ok, you're right that it can raise an exception when the calling thread does 
> not have the security privileges needed. But what if it had them ? Right now 
> the deadlock comes from the fact is doesn't got back to the caller with an 
> exception and doesn't end the current thread. My 1st proposal was to have a 
> way to end the current thread. If you think that is not acceptable and prefer 
> the exception solution, then something like throw new 
> IllegalStateException("Shutdown in progress") which is already used when 
> adding new hooks while shutting down and adjust the System.exit method 
> documentation accordingly (might be dangerous since it "breaks" actual 
> documented and implemented contract, might be too heavy for a change).
>
> First things first : do you think this is an issue the JVM has to solve 
> (either using a destroy-current-thread solution, or a 
> throw-IllegalStateException one), or do you think this was a hook misuse and 
> maybe would only need maybe a clearer warning in the hooks's documentation, 
> or do you think we keep everything as it is because I should have guessed 
> better reading the actual documentation 😊 ?

If you're asking me personally, I think it would make a lot of sense
to throw IllegalStateException or a new subclass thereof (e.g.
`ExitInProgressException` or something). However, my opinion doesn't
count. I suspect that those whose opinions *do* count will probably
say that this would be too much of a breaking change.

-- 
- DML • he/him

Reply via email to