Uploaded image for project: 'JDK'
  1. JDK
  2. JDK-8314759

VirtualThread.parkNanos timeout adjustment when pinned should be replaced

    XMLWordPrintable

Details

    • b13

    Backports

      Description

        If yielding fails due to the pinning then VirtualThread.parkNanos parks on the carrier thread with the remaining time. The calculation of the remaining time should be changed to:

        long remainingNanos = nanos - (System.nanoTime() - startTime);

        The current code isn't correct for cases where System.nanoTimes return a negative value or when parking for durations close to Long.MAX_VALUE (292 years).

        Attachments

          Issue Links

            Activity

              People

                alanb Alan Bateman
                alanb Alan Bateman
                Votes:
                0 Vote for this issue
                Watchers:
                3 Start watching this issue

                Dates

                  Created:
                  Updated:
                  Resolved: