From af69d6a45bcb29149eccde2b0d675a551233ff71 Mon Sep 17 00:00:00 2001 From: Joey Hess Date: Fri, 2 Dec 2016 14:16:50 -0400 Subject: catch non-IO exceptions too --- P2P/IO.hs | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) (limited to 'P2P') diff --git a/P2P/IO.hs b/P2P/IO.hs index 6ab6cc278..fb621ab2b 100644 --- a/P2P/IO.hs +++ b/P2P/IO.hs @@ -63,14 +63,14 @@ runNetProto runenv = go runNet :: (MonadIO m, MonadMask m) => RunEnv -> RunProto m -> NetF (Proto a) -> m (Maybe a) runNet runenv runner f = case f of SendMessage m next -> do - v <- liftIO $ tryIO $ do + v <- liftIO $ tryNonAsync $ do hPutStrLn (runOhdl runenv) (unwords (formatMessage m)) hFlush (runOhdl runenv) case v of Left _e -> return Nothing Right () -> runner next ReceiveMessage next -> do - v <- liftIO $ tryIO $ hGetLine (runIhdl runenv) + v <- liftIO $ tryNonAsync $ hGetLine (runIhdl runenv) case v of Left _e -> return Nothing Right l -> case parseMessage l of @@ -80,7 +80,7 @@ runNet runenv runner f = case f of net $ sendMessage e next e SendBytes len b next -> do - v <- liftIO $ tryIO $ do + v <- liftIO $ tryNonAsync $ do ok <- sendExactly len b (runOhdl runenv) hFlush (runOhdl runenv) return ok @@ -88,7 +88,7 @@ runNet runenv runner f = case f of Right True -> runner next _ -> return Nothing ReceiveBytes (Len n) next -> do - v <- liftIO $ tryIO $ L.hGet (runIhdl runenv) (fromIntegral n) + v <- liftIO $ tryNonAsync $ L.hGet (runIhdl runenv) (fromIntegral n) case v of Left _e -> return Nothing Right b -> runner (next b) -- cgit v1.2.3