06fcf75439
* posix.cc (_Jv_platform_nanotime): Return nanoseconds, not microseconds; use gettimeofday when available. * posix-threads.cc (_Jv_CondWait): Improve accuracy and range of timeout calculation. * testsuite/libjava.lang/Thread_Sleep_2.java: New. * testsuite/libjava.lang/Thread_Sleep_2.out: New. * testsuite/libjava.lang/Thread_Sleep_2.xfail: New. From-SVN: r116941
35 lines
751 B
Java
35 lines
751 B
Java
// Test that Thread.sleep() is accurate
|
|
// and that nanoTime actually measures in nanoseconds.
|
|
|
|
public class Thread_Sleep_2
|
|
{
|
|
public static void main(String args[])
|
|
{
|
|
try
|
|
{
|
|
boolean ok = true;
|
|
for (int i = 0; i < 100; i++)
|
|
{
|
|
long start = System.nanoTime();
|
|
Thread.sleep(10);
|
|
long end = System.nanoTime();
|
|
if ((end - start) < 10000000)
|
|
{
|
|
System.out.print ("failed, iteration ");
|
|
System.out.print (i);
|
|
System.out.print (", time ");
|
|
System.out.print (end - start);
|
|
System.out.println ("ns");
|
|
ok = false;
|
|
}
|
|
}
|
|
if (ok)
|
|
System.out.println ("ok");
|
|
}
|
|
catch (InterruptedException x)
|
|
{
|
|
System.out.println("error: Thread interrupted.");
|
|
}
|
|
}
|
|
}
|