time-manager 0.2.3 → 0.2.4
raw patch · 4 files changed
+17/−3 lines, 4 files
Files
- ChangeLog.md +5/−0
- System/ThreadManager.hs +7/−1
- System/TimeManager.hs +4/−1
- time-manager.cabal +1/−1
ChangeLog.md view
@@ -1,5 +1,10 @@ # ChangeLog for time-manager +## 0.2.4++* Providing `isAllGone`.+* Providing emptyHandle.+ ## 0.2.3 * Exporting defaultManager.
System/ThreadManager.hs view
@@ -8,7 +8,7 @@ ThreadManager, newThreadManager, stopAfter,- KilledByThreadManager(..),+ KilledByThreadManager (..), -- * Fork forkManaged,@@ -19,6 +19,7 @@ -- * Synchronization waitUntilAllGone,+ isAllGone, -- * Re-exports T.Manager,@@ -187,6 +188,11 @@ waitUntilAllGone (ThreadManager _timmgr var) = atomically $ do m <- readTVar var check (Map.size m == 0)++isAllGone :: ThreadManager -> STM Bool+isAllGone (ThreadManager _timmgr var) = do+ m <- readTVar var+ return (Map.size m == 0) ----------------------------------------------------------------
System/TimeManager.hs view
@@ -8,6 +8,7 @@ defaultManager, TimeoutAction, Handle,+ emptyHandle, -- ** Manager initialize,@@ -63,9 +64,11 @@ , handleStateRef :: IORef State } +{-# NOINLINE emptyAction #-} emptyAction :: IORef TimeoutAction emptyAction = unsafePerformIO $ I.newIORef (return ()) +{-# NOINLINE emptyState #-} emptyState :: IORef State emptyState = unsafePerformIO $ I.newIORef Inactive @@ -84,7 +87,7 @@ ---------------------------------------------------------------- --- | Creating timeout manager which works every N micro seconds+-- | Creating timeout manager which works every N microseconds -- where N is the first argument. initialize :: Int -> IO Manager initialize timeout
time-manager.cabal view
@@ -1,5 +1,5 @@ Name: time-manager-Version: 0.2.3+Version: 0.2.4 Synopsis: Scalable timer License: MIT License-file: LICENSE