diff --git a/Database/MongoDB/Query.hs b/Database/MongoDB/Query.hs index e67a2a8..6840627 100644 --- a/Database/MongoDB/Query.hs +++ b/Database/MongoDB/Query.hs @@ -561,7 +561,7 @@ newCursor :: (MonadIO m, MonadBaseControl IO m) => Database -> Collection -> Bat newCursor db col batchSize dBatch = do var <- newMVar dBatch let cursor = Cursor (db <.> col) batchSize var - mkWeakMVar var (closeCursor cursor) + _ <- mkWeakMVar var (closeCursor cursor) return cursor #if !MIN_VERSION_base(4,6,0) where mkWeakMVar = addMVarFinalizer diff --git a/System/IO/Pipeline.hs b/System/IO/Pipeline.hs index 0a712be..c4787a5 100644 --- a/System/IO/Pipeline.hs +++ b/System/IO/Pipeline.hs @@ -2,7 +2,7 @@ A pipeline closes itself when a read or write causes an error, so you can detect a broken pipeline by checking isClosed. It also closes itself when garbage collected, or you can close it explicitly. -} -{-# LANGUAGE DoRec, RecordWildCards, NamedFieldPuns, ScopedTypeVariables #-} +{-# LANGUAGE RecursiveDo, RecordWildCards, NamedFieldPuns, ScopedTypeVariables #-} {-# LANGUAGE CPP #-} module System.IO.Pipeline ( @@ -69,7 +69,7 @@ newPipeline stream = do rec let pipe = Pipeline{..} listenThread <- forkIO (listen pipe) - mkWeakMVar vStream $ do + _ <- mkWeakMVar vStream $ do killThread listenThread closeStream stream return pipe