Author: remm Date: Thu Feb 26 09:14:49 2015 New Revision: 1662396 URL: http://svn.apache.org/r1662396 Log: Revert after CI test run.
Modified: tomcat/trunk/java/org/apache/tomcat/websocket/server/WsRemoteEndpointImplServer.java Modified: tomcat/trunk/java/org/apache/tomcat/websocket/server/WsRemoteEndpointImplServer.java URL: http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/tomcat/websocket/server/WsRemoteEndpointImplServer.java?rev=1662396&r1=1662395&r2=1662396&view=diff ============================================================================== --- tomcat/trunk/java/org/apache/tomcat/websocket/server/WsRemoteEndpointImplServer.java (original) +++ tomcat/trunk/java/org/apache/tomcat/websocket/server/WsRemoteEndpointImplServer.java Thu Feb 26 09:14:49 2015 @@ -59,7 +59,6 @@ public class WsRemoteEndpointImplServer private volatile long timeoutExpiry = -1; private volatile boolean close; - private final Object lock = new Object(); public WsRemoteEndpointImplServer(ServletInputStream sis, ServletOutputStream sos, WsServerContainer serverContainer) { @@ -87,54 +86,52 @@ public class WsRemoteEndpointImplServer public void onWritePossible(boolean useDispatch) { - synchronized (lock) { - ByteBuffer[] buffers = this.buffers; - if (buffers == null) { - // Servlet 3.1 will call the write listener once even if nothing - // was written - return; - } - boolean complete = false; - try { - // If this is false there will be a call back when it is true - while (sos.isReady()) { - complete = true; - for (ByteBuffer buffer : buffers) { - if (buffer.hasRemaining()) { - complete = false; - sos.write(buffer.array(), buffer.arrayOffset(), - buffer.limit()); - buffer.position(buffer.limit()); - break; - } + ByteBuffer[] buffers = this.buffers; + if (buffers == null) { + // Servlet 3.1 will call the write listener once even if nothing + // was written + return; + } + boolean complete = false; + try { + // If this is false there will be a call back when it is true + while (sos.isReady()) { + complete = true; + for (ByteBuffer buffer : buffers) { + if (buffer.hasRemaining()) { + complete = false; + sos.write(buffer.array(), buffer.arrayOffset(), + buffer.limit()); + buffer.position(buffer.limit()); + break; } + } + if (complete) { + sos.flush(); + complete = sos.isReady(); if (complete) { - sos.flush(); - complete = sos.isReady(); - if (complete) { - wsWriteTimeout.unregister(this); - clearHandler(null, useDispatch); - if (close) { - close(); - } + wsWriteTimeout.unregister(this); + clearHandler(null, useDispatch); + if (close) { + close(); } - break; } + break; } - } catch (IOException | IllegalStateException e) { - wsWriteTimeout.unregister(this); - clearHandler(e, useDispatch); - close(); } + } catch (IOException | IllegalStateException e) { + wsWriteTimeout.unregister(this); + clearHandler(e, useDispatch); + close(); + } - if (!complete) { - // Async write is in progress - long timeout = getSendTimeout(); - if (timeout > 0) { - // Register with timeout thread - timeoutExpiry = timeout + System.currentTimeMillis(); - wsWriteTimeout.register(this); - } + if (!complete) { + // Async write is in progress + long timeout = getSendTimeout(); + if (timeout > 0) { + // Register with timeout thread + timeoutExpiry = timeout + System.currentTimeMillis(); + wsWriteTimeout.register(this); } } } --------------------------------------------------------------------- To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org