RFR: JDK-6546236 Thread interrupt() of Thread.sleep() can be lost on Solaris due to race with signal handler

Chris Hegarty chris.hegarty at oracle.com
Tue Feb 11 01:32:20 PST 2014


On 11 Feb 2014, at 08:59, Frederic Parain <frederic.parain at oracle.com> wrote:

> Alan,
> 
> Thank you for the clarification.
> There's still a bit of clean up required on the JDK
> side. Three tests have hard coded usage of the
> UseVMInterruptibleIO flag:
> 
> jdk/test/java/nio/file/Files/InterruptCopy.java
> jdk/test/java/util/concurrent/ThreadPoolExecutor/ThrowingTasks.java
> jdk/test/java/util/concurrent/BlockingQueue/Interrupt.java
> 
> Even if those tests force the flag to false, they
> will fail with "Unrecognized VM option" as soon as
> the UseVMInterruptibleIO goes away.
> 
> Regards,
> 
> Fred
> 
> On 02/10/2014 05:27 PM, Alan Bateman wrote:
>> On 10/02/2014 15:58, Frederic Parain wrote:
>>> :
>>> 
>>> Note that with this changeset, the Solaris
>>> implementation of sleep() and interrupt()
>>> is loosing the support for UseVMInterruptibleIO
>>> but this is not an issue because this VM
>>> flag has been deprecated in JDK8 and will be
>>> removed in JDK9.
>> Just an FYI that we removed some of the dependency from the the library
>> code in JDK 8 so even if you run with +UseVMInterruptibleIO then it
>> doesn't do anything in some areas (java.io in particular). The classic
>> networking (java.net) needs to be done, it's just that no-one got to it
>> in JDK 8.

I filed the follow bug to track this, and will get it into jdk9/dev soon.

https://bugs.openjdk.java.net/browse/JDK-8034174

-Chris.

>> In any case, it's good to see this mis-feature finally going
>> away.
>> 
>> -Alan
> 
> -- 
> Frederic Parain - Oracle
> Grenoble Engineering Center - France
> Phone: +33 4 76 18 81 17
> Email: Frederic.Parain at oracle.com



More information about the hotspot-runtime-dev mailing list