X-Git-Url: http://git.megacz.com/?a=blobdiff_plain;f=Foreign%2FPtr.hs;h=ad20da4a5a6fa294a70e81122532dc5a6f1e5b72;hb=e9e2a5412bb7cda8d13a063ac403d9f18ac97380;hp=514de593cef38c4b573898b13f5c340e7af1e572;hpb=2b626ac3e0e5eed595d7480bd18f14db875bb514;p=ghc-base.git diff --git a/Foreign/Ptr.hs b/Foreign/Ptr.hs index 514de59..ad20da4 100644 --- a/Foreign/Ptr.hs +++ b/Foreign/Ptr.hs @@ -1,4 +1,4 @@ -{-# OPTIONS -fno-implicit-prelude #-} +{-# OPTIONS_GHC -fno-implicit-prelude #-} ----------------------------------------------------------------------------- -- | -- Module : Foreign.Ptr @@ -42,7 +42,6 @@ module Foreign.Ptr ( #ifdef __GLASGOW_HASKELL__ import GHC.Ptr import GHC.IOBase -import GHC.Err import GHC.Base import GHC.Num import GHC.List @@ -89,6 +88,10 @@ instance Show (FunPtr a) where showsPrec p = showsPrec p . castFunPtrToPtr #endif +-- | Release the storage associated with the given 'FunPtr', which +-- must have been obtained from a wrapper stub. This should be called +-- whenever the return value from a foreign import wrapper function is +-- no longer required; otherwise, the storage it uses will leak. foreign import ccall unsafe "freeHaskellFunctionPtr" freeHaskellFunPtr :: FunPtr a -> IO () #endif