diff --git a/src/main/java/org/jboss/netty/channel/socket/nio/AbstractNioWorker.java b/src/main/java/org/jboss/netty/channel/socket/nio/AbstractNioWorker.java index 6f8d91ea6c..3fbfa83ff9 100644 --- a/src/main/java/org/jboss/netty/channel/socket/nio/AbstractNioWorker.java +++ b/src/main/java/org/jboss/netty/channel/socket/nio/AbstractNioWorker.java @@ -671,7 +671,11 @@ abstract class AbstractNioWorker implements Worker { } Queue writeBuffer = channel.writeBufferQueue; - if (!writeBuffer.isEmpty()) { + for (;;) { + evt = writeBuffer.poll(); + if (evt == null) { + break; + } // Create the exception only once to avoid the excessive overhead // caused by fillStackTrace. if (cause == null) { @@ -680,16 +684,10 @@ abstract class AbstractNioWorker implements Worker { } else { cause = new ClosedChannelException(); } - } - - for (;;) { - evt = writeBuffer.poll(); - if (evt == null) { - break; - } evt.getFuture().setFailure(cause); fireExceptionCaught = true; } + } }