Repository: mina
Updated Branches:
  refs/heads/2.0 1b7b36d82 -> 6585bf997


Added two missing synchronized(sslHandler)

Project: http://git-wip-us.apache.org/repos/asf/mina/repo
Commit: http://git-wip-us.apache.org/repos/asf/mina/commit/9eae9955
Tree: http://git-wip-us.apache.org/repos/asf/mina/tree/9eae9955
Diff: http://git-wip-us.apache.org/repos/asf/mina/diff/9eae9955

Branch: refs/heads/2.0
Commit: 9eae99559cdbe1ef86c7ca2d963bad0289382f04
Parents: 1b7b36d
Author: Emmanuel Lécharny <[email protected]>
Authored: Tue May 22 23:24:45 2018 +0200
Committer: Emmanuel Lécharny <[email protected]>
Committed: Tue May 22 23:24:45 2018 +0200

----------------------------------------------------------------------
 .../org/apache/mina/filter/ssl/SslFilter.java   | 36 +++++++++++---------
 1 file changed, 20 insertions(+), 16 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/mina/blob/9eae9955/mina-core/src/main/java/org/apache/mina/filter/ssl/SslFilter.java
----------------------------------------------------------------------
diff --git a/mina-core/src/main/java/org/apache/mina/filter/ssl/SslFilter.java 
b/mina-core/src/main/java/org/apache/mina/filter/ssl/SslFilter.java
index fb7917f..060ccc0 100644
--- a/mina-core/src/main/java/org/apache/mina/filter/ssl/SslFilter.java
+++ b/mina-core/src/main/java/org/apache/mina/filter/ssl/SslFilter.java
@@ -756,20 +756,22 @@ public class SslFilter extends IoFilterAdapter {
 
         // if already shut down
         try {
-            if (!sslHandler.closeOutbound()) {
-                return DefaultWriteFuture.newNotWrittenFuture(session, new 
IllegalStateException(
-                        "SSL session is shut down already."));
-            }
-
-            // there might be data to write out here?
-            future = sslHandler.writeNetBuffer(nextFilter);
-
-            if (future == null) {
-                future = DefaultWriteFuture.newWrittenFuture(session);
-            }
-
-            if (sslHandler.isInboundDone()) {
-                sslHandler.destroy();
+            synchronized(sslHandler) {
+                if (!sslHandler.closeOutbound()) {
+                    return DefaultWriteFuture.newNotWrittenFuture(session, new 
IllegalStateException(
+                            "SSL session is shut down already."));
+                }
+    
+                // there might be data to write out here?
+                future = sslHandler.writeNetBuffer(nextFilter);
+    
+                if (future == null) {
+                    future = DefaultWriteFuture.newWrittenFuture(session);
+                }
+    
+                if (sslHandler.isInboundDone()) {
+                    sslHandler.destroy();
+                }
             }
 
             // Inform that the session is not any more secured
@@ -816,8 +818,10 @@ public class SslFilter extends IoFilterAdapter {
             throw new IllegalStateException();
         }
 
-        if (sslHandler.getSslFilter() != this) {
-            throw new IllegalArgumentException("Not managed by this filter.");
+        synchronized(sslHandler) {
+            if (sslHandler.getSslFilter() != this) {
+                throw new IllegalArgumentException("Not managed by this 
filter.");
+            }
         }
 
         return sslHandler;

Reply via email to