161 |
|
case awaitNanos: |
162 |
|
long timeoutNanos = MILLISECONDS.toNanos(timeoutMillis); |
163 |
|
long nanosRemaining = c.awaitNanos(timeoutNanos); |
164 |
< |
assertTrue(nanosRemaining > 0); |
164 |
> |
assertTrue(nanosRemaining > timeoutNanos / 2); |
165 |
|
assertTrue(nanosRemaining <= timeoutNanos); |
166 |
|
break; |
167 |
|
case awaitUntil: |
566 |
|
final Condition c = lock.newCondition(); |
567 |
|
lock.lock(); |
568 |
|
long startTime = System.nanoTime(); |
569 |
< |
long timeoutMillis = 10; |
570 |
< |
java.util.Date d = new java.util.Date(); |
571 |
< |
assertFalse(c.awaitUntil(new java.util.Date(d.getTime() + timeoutMillis))); |
572 |
< |
assertTrue(millisElapsedSince(startTime) >= timeoutMillis); |
569 |
> |
assertFalse(c.awaitUntil(delayedDate(timeoutMillis()))); |
570 |
> |
assertTrue(millisElapsedSince(startTime) >= timeoutMillis()); |
571 |
|
lock.unlock(); |
572 |
|
} catch (InterruptedException fail) { threadUnexpectedException(fail); } |
573 |
|
} |