aboutsummaryrefslogtreecommitdiff
path: root/src/windows/classes/java/lang/ProcessImpl.java
diff options
context:
space:
mode:
Diffstat (limited to 'src/windows/classes/java/lang/ProcessImpl.java')
-rw-r--r--src/windows/classes/java/lang/ProcessImpl.java8
1 files changed, 6 insertions, 2 deletions
diff --git a/src/windows/classes/java/lang/ProcessImpl.java b/src/windows/classes/java/lang/ProcessImpl.java
index 37c3237547..1970260e57 100644
--- a/src/windows/classes/java/lang/ProcessImpl.java
+++ b/src/windows/classes/java/lang/ProcessImpl.java
@@ -520,11 +520,15 @@ final class ProcessImpl extends Process {
if (timeout <= 0) return false;
long remainingNanos = unit.toNanos(timeout);
- long deadline = System.nanoTime() + remainingNanos ;
+ long deadline = System.nanoTime() + remainingNanos;
do {
// Round up to next millisecond
long msTimeout = TimeUnit.NANOSECONDS.toMillis(remainingNanos + 999_999L);
+ if (msTimeout < 0) {
+ // if wraps around then wait a long while
+ msTimeout = Integer.MAX_VALUE;
+ }
waitForTimeoutInterruptibly(handle, msTimeout);
if (Thread.interrupted())
throw new InterruptedException();
@@ -538,7 +542,7 @@ final class ProcessImpl extends Process {
}
private static native void waitForTimeoutInterruptibly(
- long handle, long timeout);
+ long handle, long timeoutMillis);
public void destroy() { terminateProcess(handle); }