Skip to content
This repository

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP

A library-based Software Transactional Memory (STM) for Scala, coupled with transactional sets and maps

Fix CommitBarrier deadlock cycle from mailing list report

Summary: CCSTM deadlock prevention relies on priorities, but since
CommitBarrier delays transaction commit for the entire group and they
have different priorities, a cycle can form.  The cycle requires two
commit barriers, at least one of which has two transactions, and Ref
conflicts between the transactions in different commit barriers.

The deadlock was isolated very cleanly by Matthias Rahne, and his
distilled version is included here as a unit test.
latest commit eff9146c88
Nathan Grasso Bronson authored March 09, 2014
Octocat-spinner-32 .idea switch to scala-2.9.2 for intellij October 13, 2012
Octocat-spinner-32 bin update for 2012 February 02, 2012
Octocat-spinner-32 dep_tests advance trunk to 0.8-SNAPSHOT December 21, 2012
Octocat-spinner-32 lib 1.6 compilation of stmbench7 August 14, 2011
Octocat-spinner-32 src Fix CommitBarrier deadlock cycle from mailing list report March 09, 2014
Octocat-spinner-32 .gitignore adjust .gitignore to allow symlink to build area July 05, 2011
Octocat-spinner-32 BUILDING.txt Added an sbt hello world project that tests sbt deployment and depend… December 05, 2010
Octocat-spinner-32 LICENSE.txt org.scala-stm group id October 16, 2012
Octocat-spinner-32 README advance trunk to 0.8-SNAPSHOT December 21, 2012
Octocat-spinner-32 RELEASE-NOTES.txt fix STMBench7 perf hack under Scala 2.10 February 02, 2013
Octocat-spinner-32 build.sbt scala 2.9.3 build February 28, 2013
README
ScalaSTM is a lightweight software transactional memory for Scala,
inspired by the STMs in Haskell and Clojure.

The current release is 0.7.  The current published snapshot
is 0.8-SNAPSHOT.  For download info and documentation see
http://nbronson.github.com/scala-stm
Something went wrong with that request. Please try again.