packages feed

lockfree-queue 0.2.3.1 → 0.2.4

raw patch · 4 files changed

+48/−30 lines, 4 filesdep ~basenew-uploaderPVP: major bump suggested

API removals or changes: PVP suggests a major version bump

Dependency ranges changed: base

API changes (from Hackage documentation)

- Data.Concurrent.Queue.MichaelScott: instance DequeClass LinkedQueue
+ Data.Concurrent.Queue.MichaelScott: instance Data.Concurrent.Deque.Class.DequeClass Data.Concurrent.Queue.MichaelScott.LinkedQueue
- Data.Concurrent.Queue.MichaelScott: pushL :: LinkedQueue a -> a -> IO ()
+ Data.Concurrent.Queue.MichaelScott: pushL :: forall a. LinkedQueue a -> a -> IO ()
- Data.Concurrent.Queue.MichaelScott: tryPopR :: LinkedQueue a -> IO (Maybe a)
+ Data.Concurrent.Queue.MichaelScott: tryPopR :: forall a. LinkedQueue a -> IO (Maybe a)

Files

+ CHANGELOG.md view
@@ -0,0 +1,17 @@+## 0.2.4+* Allow building with GHC 9.4.++## 0.2.3+* bump for upstream change++## 0.2.0.2+* minor: fix for upstream change++## 0.2.0.1+* use ticketed CAS internally; add support for -prof mode++## 0.2+* switched to MutVar++## 0.1+* initial version
Data/Concurrent/Queue/MichaelScott.hs view
@@ -21,7 +21,10 @@  import Data.IORef (readIORef, newIORef) import System.IO (stderr)++#ifdef DEBUG import Data.ByteString.Char8 (hPutStrLn, pack)+#endif  -- import GHC.Types (Word(W#)) import GHC.IORef(IORef(IORef))@@ -31,19 +34,14 @@ import Data.Atomics (readForCAS, casIORef, Ticket, peekTicket)  -- GHC 7.8 changed some primops-#if MIN_VERSION_base(4,7,0) import GHC.Base  hiding ((==#), sameMutVar#)-import GHC.Prim hiding ((==#), sameMutVar#)-import qualified GHC.PrimopWrappers as GPW+import GHC.Exts hiding ((==#), sameMutVar#)+import qualified GHC.Exts as Exts (==#) :: Int# -> Int# -> Bool-(==#) x y = case x GPW.==# y of { 0# -> False; _ -> True }+(==#) x y = case x Exts.==# y of { 0# -> False; _ -> True }  sameMutVar# :: MutVar# s a -> MutVar# s a -> Bool-sameMutVar# x y = case GPW.sameMutVar# x y of { 0# -> False; _ -> True }-#else-import GHC.Base-import GHC.Prim-#endif+sameMutVar# x y = case Exts.sameMutVar# x y of { 0# -> False; _ -> True }   -- Considering using the Queue class definition:
+ README.md view
@@ -0,0 +1,1 @@+See haddock in Data.Concurrent.LinkedQueue
lockfree-queue.cabal view
@@ -1,23 +1,16 @@ Name:                lockfree-queue-Version:             0.2.3.1+Version:             0.2.4 License:             BSD3 License-file:        LICENSE Author:              Ryan R. Newton Maintainer:          rrnewton@gmail.com Category:            Data, Concurrent Build-type:          Simple-Cabal-version:       >=1.8-+Cabal-version:       1.18+tested-with:         GHC == 8.4.3, GHC == 8.2.2, GHC == 8.0.2, GHC == 7.10.3 Homepage: https://github.com/rrnewton/haskell-lockfree/wiki Bug-Reports: https://github.com/rrnewton/haskell-lockfree/issues --- Version History:--- 0.1 -- initial version--- 0.2 -- switched to MutVar --- 0.2.0.1 -- use ticketed CAS internally; add support for -prof mode--- 0.2.0.2 -- minor: fix for upstream change--- 0.2.3   -- bump for upstream change- Synopsis: Michael and Scott lock-free queues.  Description:@@ -32,17 +25,21 @@   @ConcurrentLinkedQueue@.  extra-source-files:+     CHANGELOG.md+     README.md      stress_test.sh  Library   exposed-modules:   Data.Concurrent.Queue.MichaelScott,                      Data.Concurrent.Queue.MichaelScott.DequeInstance-  build-depends:     base >= 4.4.0.0 && < 5,-                     ghc-prim, abstract-deque >= 0.3, bytestring,-                     atomic-primops >= 0.6+  build-depends:     base >= 4.8 && < 5+                   , ghc-prim+                   , abstract-deque >= 0.3+                   , atomic-primops >= 0.6   -- Build failure on GHC 7.2:   --                     queuelike   ghc-options: -O2+  default-language: Haskell2010  Source-Repository head     Type:         git@@ -51,16 +48,21 @@  Test-Suite test-lockfree-queue     type:       exitcode-stdio-1.0-    hs-source-dirs: ./tests/+    hs-source-dirs: tests     main-is:    Test.hs     build-depends: lockfree-queue-    build-depends: base >= 4.4.0.0 && < 5, -                   bytestring, -                   abstract-deque >= 0.3, abstract-deque-tests >= 0.3, -                   HUnit, test-framework, test-framework-hunit,-                   ghc-prim, atomic-primops >= 0.6+    build-depends: base >= 4.8 && < 5+                 , bytestring+                 , abstract-deque >= 0.3+                 , abstract-deque-tests >= 0.3+                 , HUnit+                 , test-framework+                 , test-framework-hunit+                 , ghc-prim+                 , atomic-primops >= 0.6 -    ghc-options: -O2 -threaded -rtsopts +    ghc-options: -O2 -threaded -rtsopts+    default-language: Haskell2010     -- Debugging generated code:     -- ghc-options: -keep-tmp-files -dsuppress-module-prefixes -ddump-to-file -ddump-core-stats -ddump-simpl-stats -dcore-lint -dcmm-lint     -- ghc-options: -ddump-ds -ddump-simpl -ddump-stg -ddump-asm -ddump-bcos -ddump-cmm -ddump-opt-cmm -ddump-inlinings@@ -71,7 +73,7 @@ --     build-depends: base >= 4.4.0.0 && < 5, IORefCAS >= 0.2, abstract-deque, bytestring, --                    HUnit, test-framework, test-framework-hunit, --                    ghc-prim, atomic-primops---     ghc-options: -O2 -threaded -rtsopts +--     ghc-options: -O2 -threaded -rtsopts --     -- Debugging generated code: --     ghc-options: -keep-tmp-files -dsuppress-module-prefixes -ddump-to-file -ddump-core-stats -ddump-simpl-stats -dcore-lint -dcmm-lint --     ghc-options: -ddump-ds -ddump-simpl -ddump-stg -ddump-asm -ddump-bcos -ddump-cmm -ddump-opt-cmm -ddump-inlinings