[commit: base] master: docs: note strict sequential ordering of MVar operations (8557ebb)

Simon Marlow marlowsd at gmail.com
Tue May 24 15:13:38 CEST 2011


Repository : ssh://darcs.haskell.org//srv/darcs/packages/base

On branch  : master

http://hackage.haskell.org/trac/ghc/changeset/8557ebbf1af0fa297db4bd3ee30d7c6e289fdca7

>---------------------------------------------------------------

commit 8557ebbf1af0fa297db4bd3ee30d7c6e289fdca7
Author: Simon Marlow <marlowsd at gmail.com>
Date:   Thu May 19 15:46:30 2011 +0100

    docs: note strict sequential ordering of MVar operations

>---------------------------------------------------------------

 Control/Concurrent/MVar.hs |    7 +++++++
 1 files changed, 7 insertions(+), 0 deletions(-)

diff --git a/Control/Concurrent/MVar.hs b/Control/Concurrent/MVar.hs
index 3a38294..2fda9f7 100644
--- a/Control/Concurrent/MVar.hs
+++ b/Control/Concurrent/MVar.hs
@@ -61,6 +61,13 @@
 -- in an 'MVar' to the appropriate normal form, or utilize a strict
 -- MVar provided by the strict-concurrency package.
 --
+-- * Ordering
+--
+-- 'MVar' operations are always observed to take place in the order
+-- they are written in the program, regardless of the memory model of
+-- the underlying machine.  This is in contrast to 'IORef' operations
+-- which may appear out-of-order to another thread in some cases.
+--
 -- * Example
 --
 -- Consider the following concurrent data structure, a skip channel.





More information about the Cvs-libraries mailing list