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
-~----------~----~----~----~------~----~------~--~---

Reply via email to