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;
