jdk/src/java.base/unix/classes/java/lang/ProcessImpl.java
changeset 29604 f3e313c492ba
parent 28665 fe8344cf6496
child 29724 638809ff54f3
--- a/jdk/src/java.base/unix/classes/java/lang/ProcessImpl.java	Mon Mar 23 09:45:32 2015 -0700
+++ b/jdk/src/java.base/unix/classes/java/lang/ProcessImpl.java	Mon Mar 23 10:13:32 2015 -0400
@@ -496,12 +496,11 @@
     public synchronized boolean waitFor(long timeout, TimeUnit unit)
             throws InterruptedException
     {
+        long remainingNanos = unit.toNanos(timeout);    // throw NPE before other conditions
         if (hasExited) return true;
         if (timeout <= 0) return false;
 
-        long remainingNanos = unit.toNanos(timeout);
         long deadline = System.nanoTime() + remainingNanos;
-
         do {
             // Round up to next millisecond
             wait(TimeUnit.NANOSECONDS.toMillis(remainingNanos + 999_999L));