From 5ac15f11dcb3d8b82c2dfd5c19fbb641ca320747 Mon Sep 17 00:00:00 2001 From: "Kristian S. Stangeland" Date: Fri, 2 Nov 2012 01:18:38 +0100 Subject: [PATCH] Drop expired packets in the processing chain. --- .../protocol/async/AsyncListenerHandler.java | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) diff --git a/ProtocolLib/src/main/java/com/comphenix/protocol/async/AsyncListenerHandler.java b/ProtocolLib/src/main/java/com/comphenix/protocol/async/AsyncListenerHandler.java index cbd99394..0b1ef3ba 100644 --- a/ProtocolLib/src/main/java/com/comphenix/protocol/async/AsyncListenerHandler.java +++ b/ProtocolLib/src/main/java/com/comphenix/protocol/async/AsyncListenerHandler.java @@ -441,12 +441,14 @@ public class AsyncListenerHandler { } // Now, get the next non-cancelled listener - for (; marker.getListenerTraversal().hasNext(); ) { - AsyncListenerHandler handler = marker.getListenerTraversal().next().getListener(); - - if (!handler.isCancelled()) { - handler.enqueuePacket(packet); - continue mainLoop; + if (!marker.hasExpired()) { + for (; marker.getListenerTraversal().hasNext(); ) { + AsyncListenerHandler handler = marker.getListenerTraversal().next().getListener(); + + if (!handler.isCancelled()) { + handler.enqueuePacket(packet); + continue mainLoop; + } } }