concurrent-state 0.4.1.0 → 0.4.2.0
raw patch · 3 files changed
+9/−5 lines, 3 files
Files
- changelog +4/−0
- concurrent-state.cabal +1/−1
- src/Control/Concurrent/Lifted/Fork.hs +4/−4
changelog view
@@ -1,3 +1,7 @@+0.4.2.0+-------+* Remove MonadCatch constraint from MonadFork+ 0.4.1.0 ------- * Add forkWithUnmask, forkOnWithUnmask to Control.Concurrent.Lifted.Fork
concurrent-state.cabal view
@@ -1,5 +1,5 @@ name: concurrent-state-version: 0.4.1.0+version: 0.4.2.0 synopsis: MTL-like library using TVars description: State backed by TVar. homepage: https://github.com/joelteon/concurrent-state
src/Control/Concurrent/Lifted/Fork.hs view
@@ -20,7 +20,7 @@ import Control.Monad.Reader -- | Generalize 'forkIO' to 'MonadIO'.-class (MonadIO m, MonadCatch m) => MonadFork m where+class MonadIO m => MonadFork m where fork :: m () -> m C.ThreadId forkOn :: Int -> m () -> m C.ThreadId forkOS :: m () -> m C.ThreadId@@ -36,14 +36,14 @@ forkOS (ReaderT m) = ReaderT (forkOS . m) -- | Generalized 'C.forkFinally'.-forkFinally :: MonadFork m => m a -> (Either SomeException a -> m ()) -> m C.ThreadId+forkFinally :: (MonadCatch m, MonadFork m) => m a -> (Either SomeException a -> m ()) -> m C.ThreadId forkFinally action andThen = mask $ \restore -> fork $ try (restore action) >>= andThen -- | Generalized 'C.forkIOWithUnmask'.-forkWithUnmask :: MonadFork m => ((forall a. m a -> m a) -> m ()) -> m C.ThreadId+forkWithUnmask :: (MonadCatch m, MonadFork m) => ((forall a. m a -> m a) -> m ()) -> m C.ThreadId forkWithUnmask = fork . mask -- | Generalized 'C.forkOnWithUnmask'.-forkOnWithUnmask :: MonadFork m => Int -> ((forall a. m a -> m a) -> m ()) -> m C.ThreadId+forkOnWithUnmask :: (MonadCatch m, MonadFork m) => Int -> ((forall a. m a -> m a) -> m ()) -> m C.ThreadId forkOnWithUnmask i = forkOn i . mask