So, earlier, I asked how atoms differ from using commute on refs. It sounds like the answer is that if you use atoms in a larger transaction, then as soon as the atom set is encountered, it actually changes instantly, so if you rollback, and do the transaction again, it's already been set, and will do so again, so your code surrounding the atom set better not make assumptions about whether the atom has/has not been set.
On the other hand, a ref participates in the larger transaction, so any modification to the ref will rollback if the larger transaction is rolled back, so when the larger transaction retries, code before the ref set can safely assume that the ref has not yet been set. Is this understanding correct? --Mark --~--~---------~--~----~------------~-------~--~----~ 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 To unsubscribe from this group, send email to [EMAIL PROTECTED] For more options, visit this group at http://groups.google.com/group/clojure?hl=en -~----------~----~----~----~------~----~------~--~---