On Tue, Mar 17, 2009 at 8:08 AM, Jeffrey Straszheim <[email protected]> wrote: > The code isn't too hard to follow, 'cept the barging stuff gets a bit > tricky. A nice 10,000 foot overview would be nice, however. > > On Tue, Mar 17, 2009 at 8:04 AM, Mark Volkmann <[email protected]> > wrote: >> >> Is there a summary somewhere of the steps Clojure STM takes to avoid >> deadlocks? I'm just trying to understand the basics of what, if >> anything, it does to avoid them.
I just ran across this quote from Rich Hickey near the bottom of http://mail.google.com/mail/?ui=2&zx=gb3mbfrah3gv&shva=1#inbox/12014881fc65b5c1 “Clojure's STM and agent mechanisms are deadlock-free. They are not message-passing systems with blocking selective receive. The STM uses locks internally, but does lock-conflict detection and resolution automatically.” I take this to mean that it is not possible for STM transactions in Clojure to deadlock. I'm still interested in learning the basics of how it does lock-conflict detection and resolution. I haven't found a description of it anywhere. I guess I'll have to read through the code. -- 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 [email protected] 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 -~----------~----~----~----~------~----~------~--~---
