Author: markt Date: Fri Sep 11 18:14:33 2015 New Revision: 1702531 URL: http://svn.apache.org/r1702531 Log: Make the completion handlers final since they are set once in the constructor. The completion threads access the handshake status fields so make them volatile.
Modified: tomcat/trunk/java/org/apache/tomcat/util/net/SecureNio2Channel.java Modified: tomcat/trunk/java/org/apache/tomcat/util/net/SecureNio2Channel.java URL: http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/tomcat/util/net/SecureNio2Channel.java?rev=1702531&r1=1702530&r2=1702531&view=diff ============================================================================== --- tomcat/trunk/java/org/apache/tomcat/util/net/SecureNio2Channel.java (original) +++ tomcat/trunk/java/org/apache/tomcat/util/net/SecureNio2Channel.java Fri Sep 11 18:14:33 2015 @@ -62,14 +62,14 @@ public class SecureNio2Channel extends N protected boolean sniComplete = false; - protected boolean handshakeComplete; - protected HandshakeStatus handshakeStatus; //gets set by handshake + private volatile boolean handshakeComplete; + private volatile HandshakeStatus handshakeStatus; //gets set by handshake protected boolean closed; protected boolean closing; - private CompletionHandler<Integer, SocketWrapperBase<Nio2Channel>> handshakeReadCompletionHandler; - private CompletionHandler<Integer, SocketWrapperBase<Nio2Channel>> handshakeWriteCompletionHandler; + private final CompletionHandler<Integer, SocketWrapperBase<Nio2Channel>> handshakeReadCompletionHandler; + private final CompletionHandler<Integer, SocketWrapperBase<Nio2Channel>> handshakeWriteCompletionHandler; public SecureNio2Channel(SocketBufferHandler bufHandler, Nio2Endpoint endpoint) { super(bufHandler); --------------------------------------------------------------------- To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org