stm-io-hooks: An STM monad with IO hooks

[ bsd3, concurrency, library ] [ Propose Tags ]

This library provides an STM monad with commit and retry IO hooks. A retry-action is run (once) if the transaction retries, while commit-actions are executed iff the transaction commits. The library also gives some atomicity guarantees for commit-actions:

  • When a TVar is modified in a transaction and this transaction commits, the update remains invisible to other threads until the corresponding onCommit action is run.

  • If the onCommit action throws an exception, the original values of the modified TVars are restored.

Note: The package can be used as a drop-in replacement for Control.Concurrent.STM. Part of this library uses code from the Haskell Wiki (see http://haskell.org/haskellwiki/?title=New_monads/MonadAdvSTM).

Downloads

Maintainer's Corner

Package maintainers

For package maintainers and hackage trustees

Candidates

  • No Candidates
Versions [RSS] 0.0.1, 0.1.0, 0.2.0, 0.2.1, 0.3.0, 0.4.2, 0.5.4, 0.6.0, 0.7.0, 0.7.1, 0.7.2, 0.7.3, 0.7.5, 1.0.0, 1.0.1, 1.1.0, 1.1.1, 1.1.2
Dependencies array (>=0.2.0.0 && <0.3), base (>=4 && <5), containers (>=0.2.0.0 && <0.3), mtl (>=1.1.0.2 && <1.2), stm (>=2.1.1.2 && <2.2) [details]
License BSD-3-Clause
Author Peter Robinson 2009, Chris Kuklewicz 2006
Maintainer Peter Robinson <thaldyron@gmail.com>
Category Concurrency
Home page http://darcs.monoid.at/stm-io-hooks
Uploaded by PeterRobinson at 2009-06-20T20:56:19Z
Distributions NixOS:1.1.2
Reverse Dependencies 3 direct, 0 indirect [details]
Downloads 13068 total (48 in the last 30 days)
Rating 2.0 (votes: 1) [estimated by Bayesian average]
Your Rating
  • λ
  • λ
  • λ
Status Docs uploaded by user
Build status unknown [no reports yet]