summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorRich Hickey <richhickey@gmail.com>2008-10-28 22:10:13 +0000
committerRich Hickey <richhickey@gmail.com>2008-10-28 22:10:13 +0000
commit8dad2038fd97dc5757ca95a6ea515860f227502c (patch)
tree6923c23aa6ed0623b2a598c3efc548c8c99d76b0 /src
parent8f5d7c6bcb3f63690d9e53ae481a3cecae2c1621 (diff)
validate commutes too
Diffstat (limited to 'src')
-rw-r--r--src/jvm/clojure/lang/LockingTransaction.java5
1 files changed, 3 insertions, 2 deletions
diff --git a/src/jvm/clojure/lang/LockingTransaction.java b/src/jvm/clojure/lang/LockingTransaction.java
index 80e1a1e7..b71cf784 100644
--- a/src/jvm/clojure/lang/LockingTransaction.java
+++ b/src/jvm/clojure/lang/LockingTransaction.java
@@ -248,9 +248,10 @@ Object run(Callable fn) throws Exception{
}
//validate
- for(Ref ref : sets)
+ for(Map.Entry<Ref, Object> e : vals.entrySet())
{
- ref.validate(ref.getValidator(), ref.get());
+ Ref ref = e.getKey();
+ ref.validate(ref.getValidator(), e.getValue());
}
//at this point, all values calced, all refs to be written locked