On Mar 17, 2:32 pm, Mark Volkmann <r.mark.volkm...@gmail.com> wrote:
> On Tue, Mar 17, 2009 at 8:08 AM, Jeffrey Straszheim
>
> <straszheimjeff...@gmail.com> 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 <r.mark.volkm...@gmail.com>
> > 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 
> ofhttp://mail.google.com/mail/?ui=2&zx=gb3mbfrah3gv&shva=1#inbox/120148...
>
> “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.
>

I really don't know why you would expect to do something other than
that. Explaining precisely and accurately how an STM works is not
something for a few paragraphs of prose. It's only about 600 lines of
code.

I don't want to promise anything about how the implementation works,
since I'd like to be free to change it. If you want to understand how
it currently works, the code is there.

Rich

--~--~---------~--~----~------------~-------~--~----~
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 
clojure+unsubscr...@googlegroups.com
For more options, visit this group at 
http://groups.google.com/group/clojure?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to