concurrency 1.9.0.0 → 1.10.0.0
raw patch · 3 files changed
+31/−7 lines, 3 filesPVP ok
version bump matches the API change (PVP)
API changes (from Hackage documentation)
+ Control.Monad.Conc.Class: getMaskingState :: MonadConc m => m MaskingState
Files
- CHANGELOG.rst +15/−2
- Control/Monad/Conc/Class.hs +14/−3
- concurrency.cabal +2/−2
CHANGELOG.rst view
@@ -6,8 +6,20 @@ .. _PVP: https://pvp.haskell.org/ +1.10.0.0 (2020-05-10)+---------------------++* Git: :tag:`concurrency-1.10.0.0`+* Hackage: :hackage:`concurrency-1.10.0.0`++Added+~~~~~++* (:issue:`312`) ``Control.Monad.Conc.Class.getMaskingState``.++ 1.9.0.0 (2020-02-26)-====================+-------------------- * Git: :tag:`concurrency-1.9.0.0` * Hackage: :hackage:`concurrency-1.9.0.0`@@ -20,8 +32,9 @@ * Changed ``newTBQueue`` to accept ``Natural`` as a size. * Changed ``lengthTBQueue`` to return a ``Natural``. + 1.8.1.0 (2019-11-16)-====================+-------------------- * Git: :tag:`concurrency-1.8.1.0` * Hackage: :hackage:`concurrency-1.8.1.0`
Control/Monad/Conc/Class.hs view
@@ -91,7 +91,8 @@ -- for the class and utilities import Control.Exception (AsyncException(ThreadKilled),- Exception, SomeException)+ Exception, MaskingState,+ SomeException) import Control.Monad.Catch (MonadCatch, MonadMask, MonadThrow) import qualified Control.Monad.Catch as Ca@@ -104,6 +105,7 @@ -- for the 'IO' instance import qualified Control.Concurrent as IO import qualified Control.Concurrent.STM.TVar as IO+import qualified Control.Exception as IO import qualified Control.Monad.STM as IO import qualified Data.Atomics as IO import qualified Data.IORef as IO@@ -152,7 +154,7 @@ -- Do not be put off by the use of @UndecidableInstances@, it is safe -- here. ----- @since 1.7.0.0+-- @since 1.10.0.0 class ( Monad m , MonadCatch m, MonadThrow m, MonadMask m , MonadSTM (STM m)@@ -184,6 +186,7 @@ , modifyIORefCAS , atomically , throwTo+ , getMaskingState #-} -- | The associated 'MonadSTM' for this class.@@ -496,6 +499,11 @@ -- @since 1.0.0.0 throwTo :: Exception e => ThreadId m -> e -> m () + -- | Return the 'MaskingState' for the current thread.+ --+ -- @since 1.10.0.0+ getMaskingState :: m MaskingState+ ------------------------------------------------------------------------------- -- Utilities @@ -784,6 +792,7 @@ atomically = IO.atomically newTVarConc = IO.newTVarIO readTVarConc = IO.readTVarIO+ getMaskingState = IO.getMaskingState -- | Label the current thread, if the given label is nonempty. labelMe :: String -> IO ()@@ -863,6 +872,7 @@ atomically = toIsConc . atomically . fromIsSTM newTVarConc = toIsConc . newTVarConc readTVarConc = toIsConc . readTVarConc+ getMaskingState = toIsConc getMaskingState ------------------------------------------------------------------------------- -- Transformer instances@@ -912,7 +922,8 @@ modifyIORefCAS_ r = lift . modifyIORefCAS_ r ; \ atomically = lift . atomically ; \ newTVarConc = lift . newTVarConc ; \- readTVarConc = lift . readTVarConc }+ readTVarConc = lift . readTVarConc ; \+ getMaskingState = lift getMaskingState } -- | New threads inherit the reader state of their parent, but do not -- communicate results back.
concurrency.cabal view
@@ -2,7 +2,7 @@ -- documentation, see http://haskell.org/cabal/users-guide/ name: concurrency-version: 1.9.0.0+version: 1.10.0.0 synopsis: Typeclasses, functions, and data types for concurrency and STM. description:@@ -32,7 +32,7 @@ source-repository this type: git location: https://github.com/barrucadu/dejafu.git- tag: concurrency-1.9.0.0+ tag: concurrency-1.10.0.0 library exposed-modules: Control.Monad.Conc.Class