Author: markt Date: Fri Sep 18 08:22:11 2015 New Revision: 1703763 URL: http://svn.apache.org/viewvc?rev=1703763&view=rev Log: Fix https://bz.apache.org/bugzilla/show_bug.cgi?id=58397 Remove unnecessary duplicated connected field and fix a rare data race on close.
Modified: tomcat/trunk/java/org/apache/catalina/tribes/transport/AbstractSender.java tomcat/trunk/java/org/apache/catalina/tribes/transport/nio/PooledParallelSender.java Modified: tomcat/trunk/java/org/apache/catalina/tribes/transport/AbstractSender.java URL: http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/tribes/transport/AbstractSender.java?rev=1703763&r1=1703762&r2=1703763&view=diff ============================================================================== --- tomcat/trunk/java/org/apache/catalina/tribes/transport/AbstractSender.java (original) +++ tomcat/trunk/java/org/apache/catalina/tribes/transport/AbstractSender.java Fri Sep 18 08:22:11 2015 @@ -24,7 +24,7 @@ import org.apache.catalina.tribes.Member public abstract class AbstractSender implements DataSender { - private boolean connected = false; + private volatile boolean connected = false; private int rxBufSize = 25188; private int txBufSize = 43800; private int udpRxBufSize = 25188; Modified: tomcat/trunk/java/org/apache/catalina/tribes/transport/nio/PooledParallelSender.java URL: http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/tribes/transport/nio/PooledParallelSender.java?rev=1703763&r1=1703762&r2=1703763&view=diff ============================================================================== --- tomcat/trunk/java/org/apache/catalina/tribes/transport/nio/PooledParallelSender.java (original) +++ tomcat/trunk/java/org/apache/catalina/tribes/transport/nio/PooledParallelSender.java Fri Sep 18 08:22:11 2015 @@ -29,14 +29,11 @@ import org.apache.catalina.tribes.util.S public class PooledParallelSender extends PooledSender { protected static final StringManager sm = StringManager.getManager(PooledParallelSender.class); - protected boolean connected = true; - public PooledParallelSender() { - super(); - } - @Override public void sendMessage(Member[] destination, ChannelMessage message) throws ChannelException { - if ( !connected ) throw new ChannelException(sm.getString("pooledParallelSender.sender.disconnected")); + if (!isConnected()) { + throw new ChannelException(sm.getString("pooledParallelSender.sender.disconnected")); + } ParallelNioSender sender = (ParallelNioSender)getSender(); if (sender == null) { ChannelException cx = new ChannelException(sm.getString( @@ -54,7 +51,6 @@ public class PooledParallelSender extend throw x; } finally { returnSender(sender); - if (!connected) disconnect(); } } } @@ -69,17 +65,4 @@ public class PooledParallelSender extend throw new RuntimeException(sm.getString("pooledParallelSender.unable.open"),x); } } - - @Override - public synchronized void disconnect() { - this.connected = false; - super.disconnect(); - } - - @Override - public synchronized void connect() throws IOException { - this.connected = true; - super.connect(); - } - } \ No newline at end of file --------------------------------------------------------------------- To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org