Repository : ssh://g...@git.haskell.org/base On branch : master Link : http://ghc.haskell.org/trac/ghc/changeset/3782a25f36a21b2dbee62dcb0029eb2302abf2f7/base
>--------------------------------------------------------------- commit 3782a25f36a21b2dbee62dcb0029eb2302abf2f7 Author: Austin Seipp <ase...@pobox.com> Date: Fri Oct 11 22:07:40 2013 -0500 Clarify docs for throwTo wrt atomicity (#8432) Authored-by: Bertram Felgenhauer <bertram.felgenha...@gmail.com> Signed-off-by: Austin Seipp <ase...@pobox.com> >--------------------------------------------------------------- 3782a25f36a21b2dbee62dcb0029eb2302abf2f7 GHC/Conc/Sync.lhs | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/GHC/Conc/Sync.lhs b/GHC/Conc/Sync.lhs index 12611f5..42d6c3d 100644 --- a/GHC/Conc/Sync.lhs +++ b/GHC/Conc/Sync.lhs @@ -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. _______________________________________________ ghc-commits mailing list ghc-commits@haskell.org http://www.haskell.org/mailman/listinfo/ghc-commits