> Thread::getState is an API for monitoring and management purposes to report > the thread state. If a virtual thread is parked with LockSupport.parkNanos, > its state is reported as WAITING when it should be TIMED_WAITING. JVM TI > GetThreadState has the same issue in that it returns > JVMTI_THREAD_STATE_WAITING_INDEFINITELY instead of the > JVMTI_THREAD_STATE_WAITING_WITH_TIMEOUT bit set. Not a very visible issue > because JDWP maps both states to "WAIT" but it may be noticed by tools using > other JVM TI agents. > > The change is straight-forward, it's just additional bit to indicate that the > parking/parked/pinned states are timed. The existing virtual/ThreadAPI.java > test is expanded to this scenario. A new test is added for JVM TI > GetThreadState to test waiting/timed-waited cases (including pinned) as test > coverage seems patchy here.
Alan Bateman has updated the pull request with a new target base due to a merge or a rebase. The incremental webrev excludes the unrelated changes brought in by the merge/rebase. The pull request contains 10 additional commits since the last revision: - Merge - Remove unecessary RF from test - Merge - Merge - Remove tab - Cleanup comments - Merge - Spurious tab - Test improvements - Initial commit ------------- Changes: - all: https://git.openjdk.org/jdk/pull/14978/files - new: https://git.openjdk.org/jdk/pull/14978/files/872ab6a7..7b9e0d5a Webrevs: - full: https://webrevs.openjdk.org/?repo=jdk&pr=14978&range=01 - incr: https://webrevs.openjdk.org/?repo=jdk&pr=14978&range=00-01 Stats: 80726 lines in 2543 files changed: 46386 ins; 17285 del; 17055 mod Patch: https://git.openjdk.org/jdk/pull/14978.diff Fetch: git fetch https://git.openjdk.org/jdk.git pull/14978/head:pull/14978 PR: https://git.openjdk.org/jdk/pull/14978