[jbosscache-commits] JBoss Cache SVN: r8223 - core/trunk/src/main/java/org/jboss/cache.
jbosscache-commits at lists.jboss.org
jbosscache-commits at lists.jboss.org
Mon Sep 14 12:13:00 EDT 2009
Author: bstansberry at jboss.com
Date: 2009-09-14 12:12:59 -0400 (Mon, 14 Sep 2009)
New Revision: 8223
Modified:
core/trunk/src/main/java/org/jboss/cache/PessimisticUnversionedNode.java
Log:
[JBCACHE-1543] Reduce synchronization on PessimisticUnversionedNode
Modified: core/trunk/src/main/java/org/jboss/cache/PessimisticUnversionedNode.java
===================================================================
--- core/trunk/src/main/java/org/jboss/cache/PessimisticUnversionedNode.java 2009-09-11 19:13:44 UTC (rev 8222)
+++ core/trunk/src/main/java/org/jboss/cache/PessimisticUnversionedNode.java 2009-09-14 16:12:59 UTC (rev 8223)
@@ -53,7 +53,7 @@
* Lock manager that manages locks to be acquired when accessing the node inside a transaction. Lazy set just in case
* locking is not needed.
*/
- protected transient IdentityLock lock = null;
+ protected transient volatile IdentityLock lock = null;
protected LockStrategyFactory lockStrategyFactory;
CommandsFactory commandsFactory;
protected NodeFactory<K, V> nodeFactory;
@@ -110,7 +110,11 @@
@Override
public IdentityLock getLock()
{
- initLock();
+ // this.lock is volatile, so double-checked locking is ok
+ if (lock == null)
+ {
+ initLock();
+ }
return lock;
}
More information about the jbosscache-commits
mailing list