This is an automated email from the ASF dual-hosted git repository.

johnnyv pushed a commit to branch bugfix/DIRMINA1132
in repository https://gitbox.apache.org/repos/asf/mina.git

commit 5c35963900dd9433973c7bf21d3c4dfc000c344f
Author: Jonathan Valliere <jon.valli...@emoten.com>
AuthorDate: Sat Jul 24 12:00:07 2021 -0400

    Fix for ssl2 request backlog
---
 .../java/org/apache/mina/filter/ssl2/SSL2Filter.java    |  2 ++
 .../java/org/apache/mina/filter/ssl2/SSL2HandlerG0.java | 17 +++++++++++++++--
 .../org/apache/mina/filter/ssl2/SSL2SimpleTest.java     | 12 ++++++------
 3 files changed, 23 insertions(+), 8 deletions(-)

diff --git 
a/mina-core/src/main/java/org/apache/mina/filter/ssl2/SSL2Filter.java 
b/mina-core/src/main/java/org/apache/mina/filter/ssl2/SSL2Filter.java
index 8bd9fa4..052f806 100644
--- a/mina-core/src/main/java/org/apache/mina/filter/ssl2/SSL2Filter.java
+++ b/mina-core/src/main/java/org/apache/mina/filter/ssl2/SSL2Filter.java
@@ -211,6 +211,8 @@ public class SSL2Filter extends IoFilterAdapter {
                }
 
                x.open(next);
+               
+               super.sessionOpened(next, session);
        }
 
        @Override
diff --git 
a/mina-core/src/main/java/org/apache/mina/filter/ssl2/SSL2HandlerG0.java 
b/mina-core/src/main/java/org/apache/mina/filter/ssl2/SSL2HandlerG0.java
index 86d8d23..803927f 100644
--- a/mina-core/src/main/java/org/apache/mina/filter/ssl2/SSL2HandlerG0.java
+++ b/mina-core/src/main/java/org/apache/mina/filter/ssl2/SSL2HandlerG0.java
@@ -119,8 +119,21 @@ public class SSL2HandlerG0 extends SSL2Handler {
                        LOGGER.debug("{} write() - source {}", toString(), 
request);
                }
 
-               this.mWriteQueue.add(request);
-               this.lflush(next);
+               if (this.mWriteQueue.isEmpty()) {
+                       if (lwrite(next, request) == false) {
+                               if (LOGGER.isDebugEnabled()) {
+                                       LOGGER.debug("{} write() - unable to 
write right now, saving request for later", toString(), request);
+                               }
+
+                               this.mWriteQueue.add(request);
+                       }
+               } else {
+                       if (LOGGER.isDebugEnabled()) {
+                               LOGGER.debug("{} write() - unable to write 
right now, saving request for later", toString(), request);
+                       }
+
+                       this.mWriteQueue.add(request);
+               }
        }
 
        /**
diff --git 
a/mina-core/src/test/java/org/apache/mina/filter/ssl2/SSL2SimpleTest.java 
b/mina-core/src/test/java/org/apache/mina/filter/ssl2/SSL2SimpleTest.java
index 88e92b5..beb6577 100644
--- a/mina-core/src/test/java/org/apache/mina/filter/ssl2/SSL2SimpleTest.java
+++ b/mina-core/src/test/java/org/apache/mina/filter/ssl2/SSL2SimpleTest.java
@@ -71,16 +71,16 @@ public class SSL2SimpleTest {
 
                final IoSession client_socket = connect_future.getSession();
 
-               try {
-                       Thread.sleep(1000);
-               } catch (InterruptedException e) {
-
-               }
+//             try {
+//                     Thread.sleep(1000);
+//             } catch (InterruptedException e) {
+//
+//             }
 
                client_socket.write(createWriteRequest());
 
                try {
-                       Thread.sleep(100);
+                       Thread.sleep(2000);
                } catch (InterruptedException e) {
 
                }

Reply via email to