X-Git-Url: http://git.megacz.com/?a=blobdiff_plain;f=ghc%2Fdocs%2Fusers_guide%2Fparallel.vsgml;h=a30120c0a54c71c7bbd4584787a151ea853779ba;hb=c5b5811c3f6f6621dde2ea7577be26b9e565eca7;hp=05e74c1e151e77ac6e32963efde4ffd8ce8f95be;hpb=e88761542a2402cf8128b897ba33d21e06f722e9;p=ghc-hetmet.git diff --git a/ghc/docs/users_guide/parallel.vsgml b/ghc/docs/users_guide/parallel.vsgml index 05e74c1..a30120c 100644 --- a/ghc/docs/users_guide/parallel.vsgml +++ b/ghc/docs/users_guide/parallel.vsgml @@ -85,6 +85,26 @@ isn't lost: the computation is suspended until required by another thread. The memory used by the thread will be garbage collected if it isn't referenced from anywhere else. +More generally, an arbitrary exception may be raised in any thread for +which we have a +raiseInThread :: ThreadId -> Exception -> IO () + + +Actually +myThreadId :: IO ThreadId + + NOTE: if you have a @ThreadId@, you essentially have a pointer to the thread itself. This means the thread itself can't be garbage collected until you drop the @ThreadId@. This misfeature will