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

Reply via email to