Document another unsafeDupablePerformIO limitation.
authorBertram Felgenhauer <int-e@gmx.de>
Mon, 4 Nov 2013 14:57:51 +0000 (15:57 +0100)
committerAustin Seipp <aseipp@pobox.com>
Tue, 7 Jan 2014 13:14:08 +0000 (07:14 -0600)
Signed-off-by: Austin Seipp <aseipp@pobox.com>
libraries/base/GHC/IO.hs

index 2718c83..5309665 100644 (file)
@@ -170,7 +170,10 @@ because it omits the check that the IO is only being performed by a
 single thread.  Hence, when you use 'unsafeDupablePerformIO',
 there is a possibility that the IO action may be performed multiple
 times (on a multiprocessor), and you should therefore ensure that
-it gives the same results each time.
+it gives the same results each time. It may even happen that one
+of the duplicated IO actions is only run partially, and then interrupted
+in the middle without an exception being raised. Therefore, functions
+like 'bracket' cannot be used safely within 'unsafeDupablePerformIO'.
 
 /Since: 4.4.0.0/
 -}