Author: markt Date: Fri Sep 18 14:04:34 2015 New Revision: 1703860 URL: http://svn.apache.org/viewvc?rev=1703860&view=rev Log: Fix another data race Code clean-up
Modified: tomcat/trunk/java/org/apache/catalina/tribes/membership/MemberImpl.java Modified: tomcat/trunk/java/org/apache/catalina/tribes/membership/MemberImpl.java URL: http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/tribes/membership/MemberImpl.java?rev=1703860&r1=1703859&r2=1703860&view=diff ============================================================================== --- tomcat/trunk/java/org/apache/catalina/tribes/membership/MemberImpl.java (original) +++ tomcat/trunk/java/org/apache/catalina/tribes/membership/MemberImpl.java Fri Sep 18 14:04:34 2015 @@ -200,14 +200,18 @@ public class MemberImpl implements Membe @Override public synchronized byte[] getData(boolean getalive, boolean reset) { - if ( reset ) dataPkg = null; - //look in cache first - if ( dataPkg!=null ) { - if ( getalive ) { - //you'd be surprised, but System.currentTimeMillis - //shows up on the profiler - long alive=System.currentTimeMillis()-getServiceStartTime(); - XByteBuffer.toBytes(alive, dataPkg, TRIBES_MBR_BEGIN.length+4); + if (reset) { + dataPkg = null; + } + // Look in cache first + if (dataPkg != null) { + if (getalive) { + // You'd be surprised, but System.currentTimeMillis + // shows up on the profiler + long alive = System.currentTimeMillis() - getServiceStartTime(); + byte[] result = dataPkg.clone(); + XByteBuffer.toBytes(alive, result, TRIBES_MBR_BEGIN.length + 4); + dataPkg = result; } return dataPkg; } --------------------------------------------------------------------- To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org