Hi,
It's been quite a while since I last looked into the impl of STM but I seem to remember that the committing transaction actively notifies other running transactions (see method barge) to restart and thus the restart is not triggered by the second deref at all. You could also find out by examining the history after your experiment with (.getHistoryCount a) Hope that helps, stefan -- 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 --- You received this message because you are subscribed to the Google Groups "Clojure" group. To unsubscribe from this group and stop receiving emails from it, send an email to clojure+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/d/optout.