Spec of j.l.Process.waitFor(timeout, unit) says: "Throws: NullPointerException - if unit is null". However, j.l.Process.waitFor(timeout, unit) doesn't throw NPE if timeout is less than, or equal to zero. Instead of this it returns false. Minimized test: --------------------------------------------------------------- public static void main(String[] args) throws IOException, InterruptedException { System.out.println(Runtime.getRuntime().exec("java").waitFor(0, null)); System.out.println(Runtime.getRuntime().exec("java").waitFor(-50, null)); } --------------------------------------------------------------- Output: --------------------------------------------------------------- false false --------------------------------------------------------------- Tested with JDK9 b23. Failed JCK test is under development.
|