Author: markt Date: Tue May 31 20:34:35 2016 New Revision: 1746340 URL: http://svn.apache.org/viewvc?rev=1746340&view=rev Log: No need to take defensive copy
Modified: tomcat/trunk/java/org/apache/tomcat/util/net/SocketWrapperBase.java Modified: tomcat/trunk/java/org/apache/tomcat/util/net/SocketWrapperBase.java URL: http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/tomcat/util/net/SocketWrapperBase.java?rev=1746340&r1=1746339&r2=1746340&view=diff ============================================================================== --- tomcat/trunk/java/org/apache/tomcat/util/net/SocketWrapperBase.java (original) +++ tomcat/trunk/java/org/apache/tomcat/util/net/SocketWrapperBase.java Tue May 31 20:34:35 2016 @@ -104,11 +104,17 @@ public abstract class SocketWrapperBase< } public IOException getError() { return error; } - public void setError(IOException error) { this.error = error; } + public void setError(IOException error) { + // Not perfectly thread-safe but good enough. Just needs to ensure that + // once this.error is non-null, it can never be null. + if (this.error != null) { + return; + } + this.error = error; + } public void checkError() throws IOException { - IOException ioe = error; - if (ioe != null) { - throw ioe; + if (error != null) { + throw error; } } --------------------------------------------------------------------- To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org