@@ -51,7 +51,7 @@ import Test.Inspection (inspect, hasNoTypeClassesExcept)
52-- | Pull a stream from an SVar.
52-- | Pull a stream from an SVar.
53{-# NOINLINE fromStreamVar #-}
53{-# NOINLINE fromStreamVar #-}
54−fromStreamVar :: forall m a . MonadAsync m => SVar Stream m a -> Stream m a
54+fromStreamVar :: MonadAsync m => SVar Stream m a -> Stream m a
55fromStreamVar sv = MkStream $ \st yld sng stp -> do
55fromStreamVar sv = MkStream $ \st yld sng stp -> do
56 list <- readOutputQ sv
56 list <- readOutputQ sv
57 -- Reversing the output is important to guarantee that we process the
57 -- Reversing the output is important to guarantee that we process the
@@ -60,7 +60,7 @@ fromStreamVar sv = MkStream $ \st yld sng stp -> do
60 foldStream st yld sng stp $ processEvents $ reverse list
60 foldStream st yld sng stp $ processEvents $ reverse list
63− allDone :: m r -> m r
63+
64 allDone stp = do
64 allDone stp = do
65 when (svarInspectMode sv) $ do
65 when (svarInspectMode sv) $ do
66 t <- liftIO $ getTime Monotonic
66 t <- liftIO $ getTime Monotonic
@@ -69,7 +69,6 @@ fromStreamVar sv = MkStream $ \st yld sng stp -> do
71 {-# INLINE processEvents #-}
71 {-# INLINE processEvents #-}
72− processEvents :: [ChildEvent a] -> Stream m a
73 processEvents [] = MkStream $ \st yld sng stp -> do
72 processEvents [] = MkStream $ \st yld sng stp -> do
74 done <- postProcess sv
73 done <- postProcess sv
@@ -93,7 +92,6 @@ fromStreamVar sv = MkStream $ \st yld sng stp -> do
93 Just ThreadAbort ->
92 Just ThreadAbort ->
94 foldStream st yld sng stp rest
93 foldStream st yld sng stp rest
95 Nothing -> liftIO (cleanupSVar sv) >> throwM ex
94 Nothing -> liftIO (cleanupSVar sv) >> throwM ex
97 shouldStop tid =
95 shouldStop tid =
98 case svarStopStyle sv of
96 case svarStopStyle sv of
99 StopNone -> return False
97 StopNone -> return False