Clarify docs for throwTo wrt atomicity (#8432)
authorAustin Seipp <aseipp@pobox.com>
Sat, 12 Oct 2013 03:07:40 +0000 (22:07 -0500)
committerAustin Seipp <aseipp@pobox.com>
Sat, 12 Oct 2013 03:07:40 +0000 (22:07 -0500)
Authored-by: Bertram Felgenhauer <bertram.felgenhauer@gmail.com>
Signed-off-by: Austin Seipp <aseipp@pobox.com>
GHC/Conc/Sync.lhs

index 12611f5..42d6c3d 100644 (file)
@@ -334,11 +334,12 @@ killThread tid = throwTo tid ThreadKilled
 
 {- | 'throwTo' raises an arbitrary exception in the target thread (GHC only).
 
+Exception delivery synchronizes between the source and target thread:
 'throwTo' does not return until the exception has been raised in the
-target thread.
-The calling thread can thus be certain that the target
-thread has received the exception.  This is a useful property to know
-when dealing with race conditions: eg. if there are two threads that
+target thread. The calling thread can thus be certain that the target
+thread has received the exception.  Exception delivery is also atomic
+with respect to other exceptions. Atomicity is a useful property to have
+when dealing with race conditions: e.g. if there are two threads that
 can kill each other, it is guaranteed that only one of the threads
 will get to kill the other.