Return-Path: Delivered-To: apmail-incubator-cayenne-commits-archive@locus.apache.org Received: (qmail 84777 invoked from network); 12 Dec 2006 14:10:41 -0000 Received: from hermes.apache.org (HELO mail.apache.org) (140.211.11.2) by minotaur.apache.org with SMTP; 12 Dec 2006 14:10:41 -0000 Received: (qmail 27924 invoked by uid 500); 12 Dec 2006 14:10:25 -0000 Delivered-To: apmail-incubator-cayenne-commits-archive@incubator.apache.org Received: (qmail 27873 invoked by uid 500); 12 Dec 2006 14:10:25 -0000 Mailing-List: contact cayenne-commits-help@incubator.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: cayenne-dev@incubator.apache.org Delivered-To: mailing list cayenne-commits@incubator.apache.org Received: (qmail 27787 invoked by uid 99); 12 Dec 2006 14:10:25 -0000 Received: from herse.apache.org (HELO herse.apache.org) (140.211.11.133) by apache.org (qpsmtpd/0.29) with ESMTP; Tue, 12 Dec 2006 06:10:25 -0800 X-ASF-Spam-Status: No, hits=-9.4 required=10.0 tests=ALL_TRUSTED,NO_REAL_NAME X-Spam-Check-By: apache.org Received: from [140.211.11.3] (HELO eris.apache.org) (140.211.11.3) by apache.org (qpsmtpd/0.29) with ESMTP; Tue, 12 Dec 2006 06:09:58 -0800 Received: by eris.apache.org (Postfix, from userid 65534) id 52C6F1A981A; Tue, 12 Dec 2006 06:09:02 -0800 (PST) Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Subject: svn commit: r486152 - /incubator/cayenne/main/trunk/core/cayenne-jdk1.4/src/main/java/org/apache/cayenne/access/ObjectStore.java Date: Tue, 12 Dec 2006 14:09:02 -0000 To: cayenne-commits@incubator.apache.org From: aadamchik@apache.org X-Mailer: svnmailer-1.1.0 Message-Id: <20061212140902.52C6F1A981A@eris.apache.org> X-Virus-Checked: Checked by ClamAV on apache.org Author: aadamchik Date: Tue Dec 12 06:09:01 2006 New Revision: 486152 URL: http://svn.apache.org/viewvc?view=rev&rev=486152 Log: missing synchronization of the Graphmanager methods ... can result in race conditions Modified: incubator/cayenne/main/trunk/core/cayenne-jdk1.4/src/main/java/org/apache/cayenne/access/ObjectStore.java Modified: incubator/cayenne/main/trunk/core/cayenne-jdk1.4/src/main/java/org/apache/cayenne/access/ObjectStore.java URL: http://svn.apache.org/viewvc/incubator/cayenne/main/trunk/core/cayenne-jdk1.4/src/main/java/org/apache/cayenne/access/ObjectStore.java?view=diff&rev=486152&r1=486151&r2=486152 ============================================================================== --- incubator/cayenne/main/trunk/core/cayenne-jdk1.4/src/main/java/org/apache/cayenne/access/ObjectStore.java (original) +++ incubator/cayenne/main/trunk/core/cayenne-jdk1.4/src/main/java/org/apache/cayenne/access/ObjectStore.java Tue Dec 12 06:09:01 2006 @@ -747,7 +747,7 @@ changes.remove(nodeId); registerNode(nodeId, object); nodeCreated(nodeId); - if(dataObject != null) { + if (dataObject != null) { delegate.finishedProcessDelete(dataObject); } } @@ -973,14 +973,14 @@ /** * @since 1.2 */ - public void registerNode(Object nodeId, Object nodeObject) { + public synchronized void registerNode(Object nodeId, Object nodeObject) { objectMap.put(nodeId, nodeObject); } /** * @since 1.2 */ - public Object unregisterNode(Object nodeId) { + public synchronized Object unregisterNode(Object nodeId) { Object object = getNode(nodeId); if (object != null) { objectsUnregistered(Collections.singleton(object));