Return-Path: Delivered-To: apmail-harmony-commits-archive@www.apache.org Received: (qmail 28334 invoked from network); 21 Sep 2010 20:40:00 -0000 Received: from unknown (HELO mail.apache.org) (140.211.11.3) by 140.211.11.9 with SMTP; 21 Sep 2010 20:40:00 -0000 Received: (qmail 33655 invoked by uid 500); 21 Sep 2010 20:39:58 -0000 Delivered-To: apmail-harmony-commits-archive@harmony.apache.org Received: (qmail 33323 invoked by uid 500); 21 Sep 2010 20:39:58 -0000 Mailing-List: contact commits-help@harmony.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: dev@harmony.apache.org Delivered-To: mailing list commits@harmony.apache.org Received: (qmail 33222 invoked by uid 99); 21 Sep 2010 20:39:58 -0000 Received: from athena.apache.org (HELO athena.apache.org) (140.211.11.136) by apache.org (qpsmtpd/0.29) with ESMTP; Tue, 21 Sep 2010 20:39:58 +0000 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; Tue, 21 Sep 2010 20:39:57 +0000 Received: by eris.apache.org (Postfix, from userid 65534) id 6EB362388A87; Tue, 21 Sep 2010 20:39:37 +0000 (UTC) Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Subject: svn commit: r999623 - /harmony/enhanced/java/trunk/classlib/modules/rmi/src/main/java/java/rmi/server/ObjID.java Date: Tue, 21 Sep 2010 20:39:37 -0000 To: commits@harmony.apache.org From: tellison@apache.org X-Mailer: svnmailer-1.0.8 Message-Id: <20100921203937.6EB362388A87@eris.apache.org> Author: tellison Date: Tue Sep 21 20:39:37 2010 New Revision: 999623 URL: http://svn.apache.org/viewvc?rev=999623&view=rev Log: Apply fix for HARMONY-6653 (Use instance lock to protect static share data in ObjID.jav) Modified: harmony/enhanced/java/trunk/classlib/modules/rmi/src/main/java/java/rmi/server/ObjID.java Modified: harmony/enhanced/java/trunk/classlib/modules/rmi/src/main/java/java/rmi/server/ObjID.java URL: http://svn.apache.org/viewvc/harmony/enhanced/java/trunk/classlib/modules/rmi/src/main/java/java/rmi/server/ObjID.java?rev=999623&r1=999622&r2=999623&view=diff ============================================================================== --- harmony/enhanced/java/trunk/classlib/modules/rmi/src/main/java/java/rmi/server/ObjID.java (original) +++ harmony/enhanced/java/trunk/classlib/modules/rmi/src/main/java/java/rmi/server/ObjID.java Tue Sep 21 20:39:37 2010 @@ -133,6 +133,11 @@ public final class ObjID implements Seri private static class NumberGenerator { // Counter to be used in case of insecure mode. static long numCounter = 65536; // 2^16 + + private static class RMINumberGeneratorLock { + // Used to identify local lock. + } + private static final Object monitor = new RMINumberGeneratorLock(); // Secure generator. SecureRandom sGenerator; @@ -149,8 +154,10 @@ public final class ObjID implements Seri /* * Returns next long number. */ - synchronized long nextLong() { - return useRandom ? sGenerator.nextLong() : numCounter++; + long nextLong() { + synchronized (monitor) { + return useRandom ? sGenerator.nextLong() : numCounter++; + } } } }