Updated webrev that has a new
test/lib/testlibrary/ThreadStateController.java and also change to use
AtomicInteger:
http://cr.openjdk.java.net/~mchung/jdk8/webrevs/8022208/webrev.01/
Mandy
On 10/31/2013 11:22 AM, Mandy Chung wrote:
On 10/31/2013 11:01 AM, Martin Buchholz wrote:
+ iterations++;
Using ++ on a volatile int looks racy. Using an AtomicInteger is
strictly more reliable.
Oh that's right. Will fix that. I don't really like duplicating the
code in these 2 tests and I am going to refactor it and add the shared
code in the testlibrary. Will send out a revised webrev.
Mandy
On Thu, Oct 31, 2013 at 10:53 AM, Mandy Chung <mandy.ch...@oracle.com
<mailto:mandy.ch...@oracle.com>> wrote:
https://bugs.openjdk.java.net/browse/JDK-8022208
Webrev at:
http://cr.openjdk.java.net/~mchung/jdk8/webrevs/8022208/webrev.00/
<http://cr.openjdk.java.net/%7Emchung/jdk8/webrevs/8022208/webrev.00/>
The retry loop in checking the thread state assumes that the
thread state is in RUNNABLE state which isn't always the case (it
could be any other state). The fix is to remove that check and
the thread should be a daemon thread so that the test can
terminate if any exception is thrown.
jdk/test/java/lang/management/ThreadMXBean/ThreadStateTest.java
is a similar test that performs additional validation on the
ThreadMXBean API. It should also be fixed as a daemon thread I
take the opportunity to change it to use
java.util.concurrent.Phaser instead of the utility class.
Mandy