I'm trying to understand the code in the lock method of the
LockingTransaction Java class. I understand that the code inside "if
(!barge(refinfo))" is run when there is a write conflict on a Ref and
the barge method was not able to get the other transaction to retry.
So it's going to retry the current transaction.

What I'm struggling to understand is the purpose of the synchronized
block after the call to "stop(RETRY}". Why does it need to wait for
refinfo to be changed? Why does it have the same outcome regardless of
whether the wait times out? If you understand it, can you please
explain it to me?

-- 
R. Mark Volkmann
Object Computing, Inc.

--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google
Groups "Clojure" group.
To post to this group, send email to clojure@googlegroups.com
Note that posts from new members are moderated - please be patient with your 
first post.
To unsubscribe from this group, send email to
clojure+unsubscr...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/clojure?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to