packages feed

fast-logger 2.0.1 → 2.0.2

raw patch · 4 files changed

+23/−15 lines, 4 filesdep ~base

Dependency ranges changed: base

Files

System/Log/FastLogger.hs view
@@ -25,12 +25,12 @@ import Control.Concurrent (getNumCapabilities, myThreadId, threadCapability, takeMVar) import Control.Monad (when, replicateM) import Data.Array (Array, listArray, (!))-import Data.IORef import GHC.IO.Device (close) import GHC.IO.FD (FD(..), openFile) import GHC.IO.IOMode (IOMode(..)) import System.Log.FastLogger.File import System.Log.FastLogger.IO+import System.Log.FastLogger.IORef import System.Log.FastLogger.LogStr import System.Log.FastLogger.Logger @@ -94,15 +94,3 @@     freeIt i = do         let (Logger mbuf _ _) = arr ! i         takeMVar mbuf >>= freeBuffer--#if !MIN_VERSION_base(4,6,0)--- | Strict version of 'atomicModifyIORef'.  This forces both the value stored--- in the 'IORef' as well as the value returned.-atomicModifyIORef' :: IORef a -> (a -> (a,b)) -> IO b-atomicModifyIORef' ref f = do-    c <- atomicModifyIORef ref-            (\x -> let (a, b) = f x    -- Lazy application of "f"-                    in (a, a `seq` b)) -- Lazy application of "seq"-    -- The following forces "a `seq` b", so it also forces "f x".-    c `seq` return c-#endif
+ System/Log/FastLogger/IORef.hs view
@@ -0,0 +1,19 @@+{-# LANGUAGE CPP #-}++module System.Log.FastLogger.IORef (+       IORef+     , newIORef+     , readIORef+     , atomicModifyIORef'+     ) where++import Data.IORef++#if !MIN_VERSION_base(4, 6, 0)+atomicModifyIORef' :: IORef a -> (a -> (a,b)) -> IO b+atomicModifyIORef' ref f = do+    b <- atomicModifyIORef ref+            (\x -> let (a, b) = f x+                    in (a, a `seq` b))+    b `seq` return b+#endif
System/Log/FastLogger/Logger.hs view
@@ -9,11 +9,11 @@  import Control.Concurrent (MVar, newMVar, withMVar) import Control.Monad (when)-import Data.IORef import Foreign.Ptr (plusPtr) import GHC.IO.FD (FD, writeRawBufferPtr) import System.Log.FastLogger.IO import System.Log.FastLogger.LogStr+import System.Log.FastLogger.IORef  ---------------------------------------------------------------- 
fast-logger.cabal view
@@ -1,5 +1,5 @@ Name:                   fast-logger-Version:                2.0.1+Version:                2.0.2 Author:                 Kazu Yamamoto <kazu@iij.ad.jp> Maintainer:             Kazu Yamamoto <kazu@iij.ad.jp> License:                BSD3@@ -15,6 +15,7 @@   Exposed-Modules:      System.Log.FastLogger                         System.Log.FastLogger.File                         System.Log.FastLogger.IO+                        System.Log.FastLogger.IORef                         System.Log.FastLogger.LogStr                         System.Log.FastLogger.Logger   Build-Depends:        base >= 4 && < 5