summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--docs/users_guide/7.8.1-notes.xml16
1 files changed, 10 insertions, 6 deletions
diff --git a/docs/users_guide/7.8.1-notes.xml b/docs/users_guide/7.8.1-notes.xml
index 8e7685ef58..6c829c8e0a 100644
--- a/docs/users_guide/7.8.1-notes.xml
+++ b/docs/users_guide/7.8.1-notes.xml
@@ -279,12 +279,16 @@
</listitem>
<listitem>
<para>
- <literal>Control.Concurrent.MVar</literal> has two
- new functions, <literal>atomicReadMVar</literal> and
- <literal>tryAtomicReadMVar</literal>, which
- implement <literal>readMVar</literal> that cannot be
- affected by other threads. (XXXX we may change the implementation
- of <literal>readMVar</literal> to use this.)
+ <literal>Control.Concurrent.MVar</literal> has a new
+ implementation of <literal>readMVar</literal>, which
+ fixes a long-standing bug where
+ <literal>readMVar</literal> is only atomic if there
+ are no other threads running
+ <literal>putMVar</literal>.
+ <literal>readMVar</literal> now is atomic, and is
+ guaranteed to return the value from the first
+ <literal>putMVar</literal>. There is also a new <literal>tryReadMVar</literal>
+ which is a non-blocking version.
</para>
</listitem>
</itemizedlist>