Author: remm
Date: Wed Apr  9 21:21:16 2014
New Revision: 1586150

URL: http://svn.apache.org/r1586150
Log:
- Add possibly missing notification.
- Try again the SSL websocket test, will revert the commit if not fixed.

Modified:
    tomcat/trunk/java/org/apache/coyote/http11/InternalNio2InputBuffer.java
    
tomcat/trunk/java/org/apache/coyote/http11/upgrade/AbstractServletOutputStream.java
    
tomcat/trunk/java/org/apache/coyote/http11/upgrade/Nio2ServletOutputStream.java
    
tomcat/trunk/test/org/apache/tomcat/websocket/TestWebSocketFrameClientSSL.java

Modified: 
tomcat/trunk/java/org/apache/coyote/http11/InternalNio2InputBuffer.java
URL: 
http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/coyote/http11/InternalNio2InputBuffer.java?rev=1586150&r1=1586149&r2=1586150&view=diff
==============================================================================
--- tomcat/trunk/java/org/apache/coyote/http11/InternalNio2InputBuffer.java 
(original)
+++ tomcat/trunk/java/org/apache/coyote/http11/InternalNio2InputBuffer.java Wed 
Apr  9 21:21:16 2014
@@ -905,7 +905,7 @@ public class InternalNio2InputBuffer ext
             if (readPending) {
                 interest = true;
             } else {
-                // If no write is pending, notify
+                // If no read is pending, notify
                 endpoint.processSocket(socket, SocketStatus.OPEN_READ, true);
             }
         }

Modified: 
tomcat/trunk/java/org/apache/coyote/http11/upgrade/AbstractServletOutputStream.java
URL: 
http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/coyote/http11/upgrade/AbstractServletOutputStream.java?rev=1586150&r1=1586149&r2=1586150&view=diff
==============================================================================
--- 
tomcat/trunk/java/org/apache/coyote/http11/upgrade/AbstractServletOutputStream.java
 (original)
+++ 
tomcat/trunk/java/org/apache/coyote/http11/upgrade/AbstractServletOutputStream.java
 Wed Apr  9 21:21:16 2014
@@ -76,6 +76,9 @@ public abstract class AbstractServletOut
         synchronized (fireListenerLock) {
             boolean result = (buffer == null);
             fireListener = !result;
+            if (fireListener) {
+                registerWriteInterest();
+            }
             return result;
         }
     }
@@ -236,4 +239,8 @@ public abstract class AbstractServletOut
     protected abstract void doFlush() throws IOException;
 
     protected abstract void doClose() throws IOException;
+
+    protected void registerWriteInterest() {
+    }
+
 }

Modified: 
tomcat/trunk/java/org/apache/coyote/http11/upgrade/Nio2ServletOutputStream.java
URL: 
http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/coyote/http11/upgrade/Nio2ServletOutputStream.java?rev=1586150&r1=1586149&r2=1586150&view=diff
==============================================================================
--- 
tomcat/trunk/java/org/apache/coyote/http11/upgrade/Nio2ServletOutputStream.java 
(original)
+++ 
tomcat/trunk/java/org/apache/coyote/http11/upgrade/Nio2ServletOutputStream.java 
Wed Apr  9 21:21:16 2014
@@ -175,4 +175,15 @@ public class Nio2ServletOutputStream ext
     protected void doClose() throws IOException {
         channel.close(true);
     }
+
+    @Override
+    protected void registerWriteInterest() {
+        synchronized (completionHandler) {
+            if (writePending.availablePermits() > 0) {
+                // If no write is pending, notify
+                endpoint.processSocket(socketWrapper, SocketStatus.OPEN_WRITE, 
true);
+            }
+        }
+    }
+
 }

Modified: 
tomcat/trunk/test/org/apache/tomcat/websocket/TestWebSocketFrameClientSSL.java
URL: 
http://svn.apache.org/viewvc/tomcat/trunk/test/org/apache/tomcat/websocket/TestWebSocketFrameClientSSL.java?rev=1586150&r1=1586149&r2=1586150&view=diff
==============================================================================
--- 
tomcat/trunk/test/org/apache/tomcat/websocket/TestWebSocketFrameClientSSL.java 
(original)
+++ 
tomcat/trunk/test/org/apache/tomcat/websocket/TestWebSocketFrameClientSSL.java 
Wed Apr  9 21:21:16 2014
@@ -46,11 +46,6 @@ public class TestWebSocketFrameClientSSL
 
     @Test
     public void testConnectToServerEndpoint() throws Exception {
-        Assume.assumeFalse(
-                "Skip this test on NIO2. FIXME: NIO2 SSL only issue.",
-                getTomcatInstance().getConnector().getProtocol()
-                .equals("org.apache.coyote.http11.Http11Nio2Protocol"));
-
         Tomcat tomcat = getTomcatInstance();
         // Must have a real docBase - just use temp
         Context ctx =



---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org
For additional commands, e-mail: dev-h...@tomcat.apache.org

Reply via email to