diff options
Diffstat (limited to 'jetty-websocket/src/main/java/org/eclipse/jetty/websocket/WebSocketConnectionD00.java')
-rw-r--r-- | jetty-websocket/src/main/java/org/eclipse/jetty/websocket/WebSocketConnectionD00.java | 12 |
1 files changed, 6 insertions, 6 deletions
diff --git a/jetty-websocket/src/main/java/org/eclipse/jetty/websocket/WebSocketConnectionD00.java b/jetty-websocket/src/main/java/org/eclipse/jetty/websocket/WebSocketConnectionD00.java index 6b141dbad3..b634bba1f9 100644 --- a/jetty-websocket/src/main/java/org/eclipse/jetty/websocket/WebSocketConnectionD00.java +++ b/jetty-websocket/src/main/java/org/eclipse/jetty/websocket/WebSocketConnectionD00.java @@ -150,11 +150,10 @@ public class WebSocketConnectionD00 extends AbstractConnection implements WebSoc progress = flushed>0 || filled>0; - if (filled<0 || flushed<0) - { - _endp.close(); - break; - } + _endp.flush(); + + if (_endp instanceof AsyncEndPoint && ((AsyncEndPoint)_endp).hasProgressed()) + progress=true; } } catch(IOException e) @@ -162,7 +161,8 @@ public class WebSocketConnectionD00 extends AbstractConnection implements WebSoc LOG.debug(e); try { - _endp.close(); + if (_endp.isOpen()) + _endp.close(); } catch(IOException e2) { |