RFR [8057744] (process) Synchronize exiting of threads and process [win]

Ivan Gerasimov ivan.gerasimov at oracle.com
Mon Sep 8 04:03:29 UTC 2014


Thanks Daniel and David!

I'll need a sponsor to help me push the change.

Sincerely yours,
Ivan


On 08.09.2014 6:03, David Holmes wrote:
> Hi Ivan,
>
> On 7/09/2014 4:07 PM, Ivan Gerasimov wrote:
>> Hello!
>>
>> This is a proposal to address issue with wrong exit codes from a Java
>> processes on Windows.
>> In order to avoid a race, calls to _endthread(), exit and _exit() are
>> explicitly synchronized.
>> We allow simultaneous calls to _endthread() by multiple threads.
>> However, at the time exit() or _exit() is called, no calls to
>> _endthread() are allowed.
>>
>> Some instrumentation added with JDK-8055338 remain in the code to help
>> diagnose the failures if they still occur.
>>
>> BUGURL: https://bugs.openjdk.java.net/browse/JDK-8057744
>> WEBREV: http://cr.openjdk.java.net/~igerasim/8057744/0/webrev/
>
> As per preliminary discussions this all looks okay.
>
> One small concern I have is that the exit() may be arbitrarily delayed 
> if the mutexes are not assigned fairly, and the application (more 
> likely a test) is creating shortlived threads concurrently with the 
> exit attempt. But I guess we will just have to deal with that if it 
> arises.
>
> Thanks,
> David
>
>> Sincerely yours,
>> Ivan
>
>



More information about the serviceability-dev mailing list