Changelog entry and /Since/ for alloc-counter ops
authorHerbert Valerio Riedel <hvr@gnu.org>
Mon, 24 Nov 2014 21:32:23 +0000 (22:32 +0100)
committerHerbert Valerio Riedel <hvr@gnu.org>
Mon, 24 Nov 2014 21:48:27 +0000 (22:48 +0100)
See b0534f78a73f972e279eed4447a5687bd6a8308e for more details

[skip ci]

libraries/base/GHC/Conc/Sync.hs
libraries/base/GHC/IO/Exception.hs
libraries/base/changelog.md

index 777fb71..e1dc915 100644 (file)
@@ -193,6 +193,7 @@ instance Ord ThreadId where
 --
 -- Allocation accounting is accurate only to about 4Kbytes.
 --
+-- /Since: 4.8.0.0/
 setAllocationCounter :: Int64 -> IO ()
 setAllocationCounter i = do
   ThreadId t <- myThreadId
@@ -200,6 +201,8 @@ setAllocationCounter i = do
 
 -- | Return the current value of the allocation counter for the
 -- current thread.
+--
+-- /Since: 4.8.0.0/
 getAllocationCounter :: IO Int64
 getAllocationCounter = do
   ThreadId t <- myThreadId
@@ -224,12 +227,15 @@ getAllocationCounter = do
 -- Compared to using timeouts, allocation limits don't count time
 -- spent blocked or in foreign calls.
 --
+-- /Since: 4.8.0.0/
 enableAllocationLimit :: IO ()
 enableAllocationLimit = do
   ThreadId t <- myThreadId
   rts_enableThreadAllocationLimit t
 
 -- | Disable allocation limit processing for the current thread.
+--
+-- /Since: 4.8.0.0/
 disableAllocationLimit :: IO ()
 disableAllocationLimit = do
   ThreadId t <- myThreadId
index d0a21b2..f811e5a 100644 (file)
@@ -102,6 +102,8 @@ instance Show Deadlock where
 -- |This thread has exceeded its allocation limit.  See
 -- 'GHC.Conc.setAllocationCounter' and
 -- 'GHC.Conc.enableAllocationLimit'.
+--
+-- /Since: 4.8.0.0/
 data AllocationLimitExceeded = AllocationLimitExceeded
     deriving Typeable
 
index df3d9d4..df20a58 100644 (file)
 
   * New module `GHC.RTS.Flags` that provides accessors to runtime flags.
 
+  * Expose functions for per-thread allocation counters and limits in `GHC.Conc`
+
+        disableAllocationLimit :: IO ()
+        enableAllocationLimit :: IO ()
+        getAllocationCounter :: IO Int64
+        setAllocationCounter :: Int64 -> IO ()
+
+    together with a new exception `AllocationLimitExceeded`.
+
 ## 4.7.0.1  *Jul 2014*
 
   * Bundled with GHC 7.8.3