diff options
| -rw-r--r-- | src/GHC/GC_Hook.hs | 7 | 
1 files changed, 7 insertions, 0 deletions
| diff --git a/src/GHC/GC_Hook.hs b/src/GHC/GC_Hook.hs index 44826c9..35fbbc5 100644 --- a/src/GHC/GC_Hook.hs +++ b/src/GHC/GC_Hook.hs @@ -1,4 +1,5 @@  {-# LANGUAGE ForeignFunctionInterface #-} +{-# LANGUAGE LambdaCase #-}  {-# LANGUAGE TypeApplications #-}  module GHC.GC_Hook (    setGCHook, @@ -97,6 +98,12 @@ setGCHook = do  -- will never get the same structure twice.  getGCLog :: IO [Details]  getGCLog = +  getLogBatch >>= \case +    [] -> return [] +    batch -> (batch ++) <$> getGCLog + +getLogBatch :: IO [Details] +getLogBatch =    let bufferCapacity = 2048    in allocaBytes bufferCapacity $ \pbuffer ->       alloca $ \punitsize -> | 
