GHC 7.6 Support

lifted-base no longer contains addMVarFinalizer
This commit is contained in:
Amit Aryeh Levy 2012-10-19 02:29:10 -07:00
parent bbe6138fea
commit ed0c264a35
2 changed files with 4 additions and 4 deletions

View file

@ -47,7 +47,7 @@ import Data.Int (Int32)
import Data.Maybe (listToMaybe, catMaybes) import Data.Maybe (listToMaybe, catMaybes)
import Data.Word (Word32) import Data.Word (Word32)
import Control.Concurrent.MVar.Lifted (MVar, newMVar, addMVarFinalizer, import Control.Concurrent.MVar.Lifted (MVar, newMVar, mkWeakMVar,
readMVar, modifyMVar) readMVar, modifyMVar)
import Control.Monad.Base (MonadBase(liftBase)) import Control.Monad.Base (MonadBase(liftBase))
import Control.Monad.Error (ErrorT, Error(..), MonadError, runErrorT, import Control.Monad.Error (ErrorT, Error(..), MonadError, runErrorT,
@ -509,7 +509,7 @@ newCursor :: (MonadIO m, MonadBaseControl IO m) => Database -> Collection -> Bat
newCursor db col batchSize dBatch = do newCursor db col batchSize dBatch = do
var <- newMVar dBatch var <- newMVar dBatch
let cursor = Cursor (db <.> col) batchSize var let cursor = Cursor (db <.> col) batchSize var
addMVarFinalizer var (closeCursor cursor) mkWeakMVar var (closeCursor cursor)
return cursor return cursor
nextBatch :: (MonadIO m, MonadBaseControl IO m) => Cursor -> Action m [Document] nextBatch :: (MonadIO m, MonadBaseControl IO m) => Cursor -> Action m [Document]

View file

@ -20,7 +20,7 @@ import GHC.Conc (ThreadStatus(..), threadStatus)
import Control.Monad.Trans (liftIO) import Control.Monad.Trans (liftIO)
import Control.Concurrent.MVar.Lifted (MVar, newEmptyMVar, newMVar, withMVar, import Control.Concurrent.MVar.Lifted (MVar, newEmptyMVar, newMVar, withMVar,
putMVar, readMVar, addMVarFinalizer) putMVar, readMVar, mkWeakMVar)
import Control.Monad.Error (ErrorT(ErrorT), runErrorT) import Control.Monad.Error (ErrorT(ErrorT), runErrorT)
onException :: (Monad m) => ErrorT e m a -> m () -> ErrorT e m a onException :: (Monad m) => ErrorT e m a -> m () -> ErrorT e m a
@ -58,7 +58,7 @@ newPipeline stream = do
rec rec
let pipe = Pipeline{..} let pipe = Pipeline{..}
listenThread <- forkIO (listen pipe) listenThread <- forkIO (listen pipe)
addMVarFinalizer vStream $ do mkWeakMVar vStream $ do
killThread listenThread killThread listenThread
closeStream stream closeStream stream
return pipe return pipe