On Wed, 12 Feb 2025 03:24:07 GMT, SendaoYan <s...@openjdk.org> wrote:
> Hi all, > > Test test/jdk/java/lang/Thread/virtual/ThreadPollOnYield.java run passed > unexpected without native library or with the incorrect native library path. > The test command with incorrect native library path shows below. We will seen > this tests run passed unexpected before this PR, because the first virtual > thread do not run normally without the dependent shared library > libVThreadPinner.so, and there is no assert when the first virtual thread run > abnormal. > > > mkdir -p empty-directory ; jtreg -v:fail,error -w tmp -nr > -jdk:build/linux-x86_64-server-release/images/jdk -nativepath:empty-directory > test/jdk/java/lang/Thread/virtual/ThreadPollOnYield.java#default > > > This PR add a latch variable will make sure the first virtual thread run once > at least. After this PR run the same test command which with incorrect native > library path, and we will seen this pass run timed out as expected. > > Change has been verified locally, test-fix only, no risk. test/jdk/java/lang/Thread/virtual/ThreadPollOnYield.java line 54: > 52: static void foo(AtomicBoolean done) { > 53: while (!done.get()) { > 54: latch.countDown(); While not correct, it looks very strange to do the count down in the loop. It would be a lot clearer to rename "latch" to "started" and do the countDown before the while. Also no need for it to be public. ------------- PR Review Comment: https://git.openjdk.org/jdk/pull/23576#discussion_r1952099166