RFR [8057744] (process) Synchronize exiting of threads and process [win]
David Holmes
david.holmes at oracle.com
Mon Sep 8 02:03:06 UTC 2014
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