Exceptions and transactions in C

There has been significant discussion--and significant disagreement--on the issue of how exceptions should interact with atomic blocks implemented using transactions. We present a proposal that offers a significant contribution towards resolving this issue, at least for C++, and we raise remaining areas of disagreement for discussion at the workshop and in the community in general.

[1]  Mark Moir,et al.  Integrating Transactional Memory into C , 2007 .

[2]  Maurice Herlihy,et al.  Transactional Memory: Architectural Support For Lock-free Data Structures , 1993, Proceedings of the 20th Annual International Symposium on Computer Architecture.

[3]  Adam Welc,et al.  Practical weak-atomicity semantics for java stm , 2008, SPAA '08.

[4]  Timothy L. Harris,et al.  Exceptions and side-effects in atomic blocks , 2005, Sci. Comput. Program..

[5]  Dan Grossman,et al.  AtomCaml: first-class atomicity via rollback , 2005, ICFP '05.

[6]  Adam Welc,et al.  Design and implementation of transactional constructs for C/C++ , 2008, OOPSLA '08.

[7]  Simon L. Peyton Jones,et al.  Composable memory transactions , 2005, CACM.