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 48b4ed8b4db0..35fd1bccf98c 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 @@ -1301,7 +1301,11 @@ else if (wake) @Override public void onCompleteFailure(Throwable e) { - _onError = e == null ? new IOException() : e; + synchronized (_channelState) + { + _onError = e == null ? new IOException() : e; + _state = State.ERROR; + } if (_channel.getState().onWritePossible()) _channel.execute(_channel); }