From b7014a724baccfc0128e19450a13948de4496b05 Mon Sep 17 00:00:00 2001 From: Greg Wilkins Date: Thu, 19 Dec 2019 10:02:33 +1100 Subject: [PATCH] Issue #4331 Close Complete Reworked order of ifs to match logic above in onWriteComplete Signed-off-by: Greg Wilkins --- .../org/eclipse/jetty/server/HttpOutput.java | 16 +++++++--------- 1 file changed, 7 insertions(+), 9 deletions(-) diff --git a/jetty-server/src/main/java/org/eclipse/jetty/server/HttpOutput.java b/jetty-server/src/main/java/org/eclipse/jetty/server/HttpOutput.java index c51b3ed37123..3e98573abce4 100644 --- a/jetty-server/src/main/java/org/eclipse/jetty/server/HttpOutput.java +++ b/jetty-server/src/main/java/org/eclipse/jetty/server/HttpOutput.java @@ -321,17 +321,11 @@ else if (_state == State.CLOSE) LOG.debug("onWriteComplete({},{}) {}->{} c={} cb={} w={}", last, failure, state, stateString(), BufferUtil.toDetailString(closeContent), closedCallback, wake); - if (failure != null) - _channel.abort(failure); - - if (closeContent != null) - { - channelWrite(closeContent, true, new WriteCompleteCB()); - return; - } - try { + if (failure != null) + _channel.abort(failure); + if (closedCallback != null) { if (failure == null) @@ -339,6 +333,10 @@ else if (_state == State.CLOSE) else closedCallback.failed(failure); } + else if (closeContent != null) + { + channelWrite(closeContent, true, new WriteCompleteCB()); + } } finally {