X-Git-Url: http://git.megacz.com/?a=blobdiff_plain;f=GHC%2FConc.lhs;h=e6197d9074bc3df6a99f35efee3a9101abb4a1dc;hb=8e9892cd14b7558649fcd9ba0597805eb57505b3;hp=50ebab7e459e745b76c71644dca6a3da19faad1e;hpb=b3768993c0fa634d54a15a0eefa370208110be21;p=ghc-base.git diff --git a/GHC/Conc.lhs b/GHC/Conc.lhs index 50ebab7..e6197d9 100644 --- a/GHC/Conc.lhs +++ b/GHC/Conc.lhs @@ -111,7 +111,7 @@ import {-# SOURCE #-} GHC.TopHandler ( reportError, reportStackOverflow ) import Data.Maybe import GHC.Base -import GHC.IOBase +import GHC.IOBase hiding ( Exception, BlockedOnDeadMVar, BlockedIndefinitely ) import GHC.Num ( Num(..) ) import GHC.Real ( fromIntegral, div ) #ifndef mingw32_HOST_OS @@ -127,6 +127,7 @@ import GHC.Ptr ( Ptr(..), plusPtr, FunPtr(..) ) import GHC.STRef import GHC.Show ( Show(..), showString ) import Data.Typeable +import Control.OldException hiding (throwTo) infixr 0 `par`, `pseq` \end{code} @@ -294,6 +295,7 @@ unblock and then re-block exceptions (using 'unblock' and 'block') without recei a pending 'throwTo'. This is arguably undesirable behaviour. -} +-- XXX This is duplicated in Control.{Old,}Exception throwTo :: ThreadId -> Exception -> IO () throwTo (ThreadId id) ex = IO $ \ s -> case (killThread# id ex s) of s1 -> (# s1, () #)