java-1.8.0-openjdk/java-1.8.0-openjdk-use-nanoTime_in_thread-join.patch
2015-06-05 14:53:34 +03:00

29 lines
1.1 KiB
Diff

diff -Naur jdk8.orig/jdk/src/share/classes/java/lang/Thread.java jdk8/jdk/src/share/classes/java/lang/Thread.java
--- jdk8.orig/jdk/src/share/classes/java/lang/Thread.java 2015-06-05 14:50:08.649527076 +0300
+++ jdk8/jdk/src/share/classes/java/lang/Thread.java 2015-06-05 14:51:43.135521481 +0300
@@ -36,6 +36,7 @@
import java.util.concurrent.ConcurrentHashMap;
import java.util.concurrent.ConcurrentMap;
import java.util.concurrent.locks.LockSupport;
+import java.util.concurrent.TimeUnit;
import sun.nio.ch.Interruptible;
import sun.reflect.CallerSensitive;
import sun.reflect.Reflection;
@@ -1233,7 +1234,7 @@
*/
public final synchronized void join(long millis)
throws InterruptedException {
- long base = System.currentTimeMillis();
+ long base = System.nanoTime();
long now = 0;
if (millis < 0) {
@@ -1251,7 +1252,7 @@
break;
}
wait(delay);
- now = System.currentTimeMillis() - base;
+ now = TimeUnit.NANOSECONDS.toMillis(System.nanoTime() - base);
}
}
}