提交 3aba8472 编写于 作者: M mchung

6535104: TEST_BUG: FindDeadlocks.java fails intermittently.

Summary: Retry a few times to check thread status before reporting failure
Reviewed-by: swamyv
上级 5884c537
......@@ -83,11 +83,24 @@ public class SynchronizerDeadlock {
void waitUntilDeadlock() {
barr.await();
// sleep a little while to wait until threads are blocked.
try {
Thread.sleep(100);
} catch (InterruptedException e) {
// ignore
for (int i=0; i < 100; i++) {
// sleep a little while to wait until threads are blocked.
try {
Thread.sleep(100);
} catch (InterruptedException e) {
// ignore
}
boolean retry = false;
for (Thread t: dThreads) {
if (t.getState() == Thread.State.RUNNABLE) {
retry = true;
break;
}
}
if (!retry) {
break;
}
}
}
......
......@@ -28,7 +28,7 @@
* monitors.
* @author Mandy Chung
*
* @build ThreadDump
* @build ThreadDump Utils
*/
import java.lang.management.*;
......@@ -63,6 +63,9 @@ public class SynchronizerLockingThread extends Thread {
throw new RuntimeException(e);
}
}
Utils.waitForBlockWaitingState(t1);
Utils.waitForBlockWaitingState(t2);
}
static long[] getThreadIds() {
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册