Make sure cancelled scheduled tasks will not run again if cancelled before
This commit is contained in:
parent
28576aa41e
commit
624bda4695
@ -800,16 +800,19 @@ public abstract class SingleThreadEventExecutor extends AbstractEventExecutor {
|
|||||||
setSuccessInternal(result);
|
setSuccessInternal(result);
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
task.call();
|
// check if is done as it may was cancelled
|
||||||
if (!executor().isShutdown()) {
|
if (!isDone()) {
|
||||||
long p = periodNanos;
|
task.call();
|
||||||
if (p > 0) {
|
if (!executor().isShutdown()) {
|
||||||
deadlineNanos += p;
|
long p = periodNanos;
|
||||||
} else {
|
if (p > 0) {
|
||||||
deadlineNanos = nanoTime() - p;
|
deadlineNanos += p;
|
||||||
}
|
} else {
|
||||||
if (!isDone()) {
|
deadlineNanos = nanoTime() - p;
|
||||||
executor().delayedTaskQueue.add(this);
|
}
|
||||||
|
if (!isDone()) {
|
||||||
|
executor().delayedTaskQueue.add(this);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user