@@ -263,7 +263,7 @@ pullSideDispatch :: MonadAsync m
263263pullSideDispatch ctx m1 m2 = AsyncT $ \_ stp yld -> do
264264 let chan = childChannel ctx
265265 _ <- doFork (push (ctx {pullSide = False}) m1) (handlePushException chan)
266− liftIO $ threadDelay 0
266+ -- liftIO $ threadDelay 0
267267 liftIO $ writeIORef (pendingWork ctx) m2
268268 (runAsyncT (pullDispatch ctx False)) Nothing stp yld
269269
@@ -307,7 +307,7 @@ pullFork m1 m2 = AsyncT $ \_ stp yld -> do
307307
308308 newContext m = do
309309 channel <- atomically newTChan
310− work <- liftIO $ newIORef (m <|> pullDrain channel)
310+ work <- liftIO $ newIORef (m <> pullDrain channel)
311311 return $ Context { childChannel = channel
312312 , pullSide = True
313313 , pendingWork = work