From 8da05713fe08b226dbb6d1ee4bf6066954e29fce Mon Sep 17 00:00:00 2001 From: Trustin Lee Date: Fri, 29 Aug 2008 00:23:47 +0000 Subject: [PATCH] Fixed issue: NETTY-40 (SslHandler dead lock on Oio-Oio communication) * More fine-grained lock acquisition --- src/main/java/org/jboss/netty/handler/ssl/SslHandler.java | 6 ++++++ .../jboss/netty/handler/ssl/OioOioSocketSslEchoTest.java | 7 ------- 2 files changed, 6 insertions(+), 7 deletions(-) diff --git a/src/main/java/org/jboss/netty/handler/ssl/SslHandler.java b/src/main/java/org/jboss/netty/handler/ssl/SslHandler.java index 44f2deec53..ec7e8a3e14 100644 --- a/src/main/java/org/jboss/netty/handler/ssl/SslHandler.java +++ b/src/main/java/org/jboss/netty/handler/ssl/SslHandler.java @@ -385,6 +385,12 @@ public class SslHandler extends FrameDecoder implements ChannelDownstreamHandler return; } + synchronized (pendingEncryptedWrites) { + if (pendingEncryptedWrites.isEmpty()) { + return; + } + } + synchronized (pendingEncryptedWrites) { MessageEvent e; while ((e = pendingEncryptedWrites.poll()) != null) { diff --git a/src/test/java/org/jboss/netty/handler/ssl/OioOioSocketSslEchoTest.java b/src/test/java/org/jboss/netty/handler/ssl/OioOioSocketSslEchoTest.java index a048036d21..e6e3cc0377 100644 --- a/src/test/java/org/jboss/netty/handler/ssl/OioOioSocketSslEchoTest.java +++ b/src/test/java/org/jboss/netty/handler/ssl/OioOioSocketSslEchoTest.java @@ -27,7 +27,6 @@ import java.util.concurrent.Executor; import org.jboss.netty.channel.ChannelFactory; import org.jboss.netty.channel.socket.oio.OioClientSocketChannelFactory; import org.jboss.netty.channel.socket.oio.OioServerSocketChannelFactory; -import org.junit.Test; /** * @author The Netty Project (netty-dev@lists.jboss.org) @@ -47,10 +46,4 @@ public class OioOioSocketSslEchoTest extends AbstractSocketSslEchoTest { protected ChannelFactory newServerSocketChannelFactory(Executor executor) { return new OioServerSocketChannelFactory(executor, executor); } - - @Test - @Override - public void testSslEcho() throws Throwable { - // FIXME Disabled temporarily - } }