Return-Path: Delivered-To: apmail-hc-commits-archive@www.apache.org Received: (qmail 40529 invoked from network); 19 Mar 2009 02:00:39 -0000 Received: from hermes.apache.org (HELO mail.apache.org) (140.211.11.2) by minotaur.apache.org with SMTP; 19 Mar 2009 02:00:39 -0000 Received: (qmail 89596 invoked by uid 500); 19 Mar 2009 02:00:39 -0000 Delivered-To: apmail-hc-commits-archive@hc.apache.org Received: (qmail 89566 invoked by uid 500); 19 Mar 2009 02:00:39 -0000 Mailing-List: contact commits-help@hc.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: "HttpComponents Project" Delivered-To: mailing list commits@hc.apache.org Received: (qmail 89557 invoked by uid 99); 19 Mar 2009 02:00:39 -0000 Received: from nike.apache.org (HELO nike.apache.org) (192.87.106.230) by apache.org (qpsmtpd/0.29) with ESMTP; Wed, 18 Mar 2009 19:00:39 -0700 X-ASF-Spam-Status: No, hits=-2000.0 required=10.0 tests=ALL_TRUSTED X-Spam-Check-By: apache.org Received: from [140.211.11.4] (HELO eris.apache.org) (140.211.11.4) by apache.org (qpsmtpd/0.29) with ESMTP; Thu, 19 Mar 2009 02:00:37 +0000 Received: by eris.apache.org (Postfix, from userid 65534) id 6822B2388975; Thu, 19 Mar 2009 02:00:16 +0000 (UTC) Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Subject: svn commit: r755811 - /httpcomponents/httpclient/trunk/httpmime/src/main/java/org/apache/http/entity/mime/MultipartEntity.java Date: Thu, 19 Mar 2009 02:00:16 -0000 To: commits@hc.apache.org From: sebb@apache.org X-Mailer: svnmailer-1.0.8 Message-Id: <20090319020016.6822B2388975@eris.apache.org> X-Virus-Checked: Checked by ClamAV on apache.org Author: sebb Date: Thu Mar 19 02:00:15 2009 New Revision: 755811 URL: http://svn.apache.org/viewvc?rev=755811&view=rev Log: Make code thread-safe by using dirty as a volatile guard Modified: httpcomponents/httpclient/trunk/httpmime/src/main/java/org/apache/http/entity/mime/MultipartEntity.java Modified: httpcomponents/httpclient/trunk/httpmime/src/main/java/org/apache/http/entity/mime/MultipartEntity.java URL: http://svn.apache.org/viewvc/httpcomponents/httpclient/trunk/httpmime/src/main/java/org/apache/http/entity/mime/MultipartEntity.java?rev=755811&r1=755810&r2=755811&view=diff ============================================================================== --- httpcomponents/httpclient/trunk/httpmime/src/main/java/org/apache/http/entity/mime/MultipartEntity.java (original) +++ httpcomponents/httpclient/trunk/httpmime/src/main/java/org/apache/http/entity/mime/MultipartEntity.java Thu Mar 19 02:00:15 2009 @@ -39,6 +39,8 @@ import java.util.List; import java.util.Random; +import net.jcip.annotations.ThreadSafe; + import org.apache.http.Header; import org.apache.http.HttpEntity; import org.apache.http.entity.mime.content.ContentBody; @@ -54,6 +56,7 @@ * * @since 4.0 */ +@ThreadSafe public class MultipartEntity implements HttpEntity { /** @@ -68,7 +71,7 @@ private final Header contentType; private long length; - private boolean dirty; + private volatile boolean dirty; // used to decide whether to recalculate length public MultipartEntity( HttpMultipartMode mode,