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

Reply via email to