X-Git-Url: http://git.megacz.com/?a=blobdiff_plain;f=compiler%2Fmain%2FInteractiveEval.hs;h=40eb66ad23048a5b7d61dfc3cedc4da37baaf70d;hb=8cf861ba91941412e93f70a916233223aebf686e;hp=79a1056da970746d860751e212cc6ab79e28c62a;hpb=7f474b779449109760d133eef5aba0aa3c38474a;p=ghc-hetmet.git diff --git a/compiler/main/InteractiveEval.hs b/compiler/main/InteractiveEval.hs index 79a1056..40eb66a 100644 --- a/compiler/main/InteractiveEval.hs +++ b/compiler/main/InteractiveEval.hs @@ -67,7 +67,7 @@ import Unique import UniqSupply import Module import Panic -import UniqFM +import LazyUniqFM import Maybes import ErrUtils import Util @@ -360,7 +360,7 @@ rethrow dflags io = Exception.catch io $ \e -> do -- NB. not catchDyn withInterruptsSentTo :: ThreadId -> IO r -> IO r withInterruptsSentTo thread get_result = do bracket (modifyMVar_ interruptTargetThread (return . (thread:))) - (\_ -> modifyMVar_ interruptTargetThread (return.tail)) + (\_ -> modifyMVar_ interruptTargetThread (\tl -> return $! tail tl)) (\_ -> get_result) -- This function sets up the interpreter for catching breakpoints, and