On Mon, 27 Feb 2023 16:05:44 GMT, Roger Riggs <[email protected]> wrote:
>> src/java.base/share/classes/java/lang/Shutdown.java line 189:
>>
>>> 187: } catch (Throwable throwable2) {
>>> 188: // Ignore
>>> 189: }
>>
>> The update means that several threads racing to exit may result in more than
>> one message being logged. I don't think that's a big issue but just wanted
>> to make sure that this was deliberate.
>
> Yes, its racy, and intentional, but from a diagnostic view, the developer
> should know that multiple callers were trying to exit. All but one will hang.
>
> Consolidating the code in a single method is cleaner and with fewer
> interactions between separate code blocks.
I can't tell if the thread identity will be included in the log the message?
I'm not so sure it is useful to allow competing exit calls to all log their
intent. I would have kept the logging itself inside the locked region as per
the original code.
-------------
PR: https://git.openjdk.org/jdk/pull/12770