From ecdcfc0081900e7c6aa4d8a76f80474147c34072 Mon Sep 17 00:00:00 2001 From: Jon Kristensen Date: Mon, 10 Jun 2013 22:51:27 +0200 Subject: [PATCH] Stream.hs: Add `tryIOError', not available in `base-4.2' --- source/Network/Xmpp/Stream.hs | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/source/Network/Xmpp/Stream.hs b/source/Network/Xmpp/Stream.hs index d5460bb..c5901b0 100644 --- a/source/Network/Xmpp/Stream.hs +++ b/source/Network/Xmpp/Stream.hs @@ -39,7 +39,7 @@ import Network.DNS hiding (encode, lookup) import Network.Xmpp.Marshal import Network.Xmpp.Types import System.IO -import System.IO.Error (tryIOError) +-- import System.IO.Error (tryIOError) <- Only available in base >=4.4 import System.Log.Logger import System.Random (randomRIO) import Text.XML.Stream.Parse as XP @@ -821,3 +821,7 @@ withStream' action (Stream stream) = do mkStream :: StreamState -> IO Stream mkStream con = Stream `fmap` atomically (newTMVar con) + +-- "Borrowed" from base-4.4 for compatibility with GHC 7.0.1. +tryIOError :: IO a -> IO (Either IOError a) +tryIOError f = catch (f >>= \r -> return (Right r)) (return . Left)