summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--jdisc_core/src/main/java/com/yahoo/jdisc/core/ScheduledQueue.java5
1 files changed, 3 insertions, 2 deletions
diff --git a/jdisc_core/src/main/java/com/yahoo/jdisc/core/ScheduledQueue.java b/jdisc_core/src/main/java/com/yahoo/jdisc/core/ScheduledQueue.java
index 881ccebdb93..f41bb32127e 100644
--- a/jdisc_core/src/main/java/com/yahoo/jdisc/core/ScheduledQueue.java
+++ b/jdisc_core/src/main/java/com/yahoo/jdisc/core/ScheduledQueue.java
@@ -34,15 +34,16 @@ class ScheduledQueue {
if (slots[NUM_SLOTS] == null && currentTimeMillis < nextTick) {
return;
}
- int queueSize = queueSize() + out.size();
drainTo(NUM_SLOTS, 0, out);
- for (int i = 0; currentTimeMillis >= nextTick && (queueSize > out.size()); i++, nextTick += MILLIS_PER_SLOT) {
+ while (currentTimeMillis >= nextTick) {
if (++currSlot >= NUM_SLOTS) {
currSlot = 0;
currIter++;
}
drainTo(currSlot, currIter, out);
+ nextTick += MILLIS_PER_SLOT;
}
+
}
private void drainTo(int slot, int iter, Queue<Object> out) {