浏览代码

allow short/zero timeout await

tags/2.0.1
Jonathan Cobb 4 年前
父节点
当前提交
a01ed790b6
共有 1 个文件被更改,包括 3 次插入2 次删除
  1. +3
    -2
      src/main/java/org/cobbzilla/util/daemon/Await.java

+ 3
- 2
src/main/java/org/cobbzilla/util/daemon/Await.java 查看文件

@@ -170,7 +170,7 @@ public class Await {
final AwaitResult<T> result = new AwaitResult<>();
final Collection<Future<?>> awaiting = new ArrayList<>(futures);

while (clock.now() - start < timeout) {
while (true) {
for (Iterator iter = awaiting.iterator(); iter.hasNext(); ) {
final Future f = (Future) iter.next();
if (f.isDone()) {
@@ -194,7 +194,8 @@ public class Await {
log.warn("awaitAll: exception in sleepCallback: "+shortError(e));
}
}
sleep(sleepTime, "awaitAll: awaiting tasks: "+awaiting.size()+"/"+futures.size());
if (clock.now() - start < timeout) break;
if (sleepTime > 0) sleep(sleepTime, "awaitAll: awaiting tasks: "+awaiting.size()+"/"+futures.size());
}

result.timeout(awaiting);


正在加载...
取消
保存