@@ -50,7 +50,6 @@ import qualified Data.ByteString.Char8 as BS
50import Data.Dynamic
50import Data.Dynamic
51import Data.Maybe
51import Data.Maybe
52import Data.Map.Strict (Map)
52import Data.Map.Strict (Map)
53−import Data.Either.Extra
54import Data.List.Extra
53import Data.List.Extra
55import qualified Data.Set as Set
54import qualified Data.Set as Set
56import qualified Data.Text as T
55import qualified Data.Text as T
@@ -340,8 +339,11 @@ shakeRun IdeState{shakeExtras=ShakeExtras{..}, ..} acts = modifyVar shakeAbort $
340 thread <- forkFinally (shakeRunDatabaseProfile shakeDb acts) $ \res -> do
339 thread <- forkFinally (shakeRunDatabaseProfile shakeDb acts) $ \res -> do
341 signalBarrier bar res
340 signalBarrier bar res
342 runTime <- start
341 runTime <- start
342+ let res' = case res of
343+ Left e -> "exception: " <> displayException e
344+ Right _ -> "completed"
343 logDebug logger $ T.pack $
345 logDebug logger $ T.pack $
344− "Finishing shakeRun (took " ++ showDuration runTime ++ ", " ++ (if isLeft res then "exception" else "completed") ++ ")"
346+ "Finishing shakeRun (took " ++ showDuration runTime ++ ", " ++ res' ++ ")"
345 -- important: we send an async exception to the thread, then wait for it to die, before continuing
347 -- important: we send an async exception to the thread, then wait for it to die, before continuing
346 return (do killThread thread; void $ waitBarrier bar, either throwIO return =<< waitBarrier bar)
348 return (do killThread thread; void $ waitBarrier bar, either throwIO return =<< waitBarrier bar)