X-Git-Url: http://git.megacz.com/?a=blobdiff_plain;f=GHC%2FForeignPtr.hs;h=603a8f3f1cc6f528aecb9ca453bf17e9e8f2b82f;hb=30464c0cb915c2ae900909568fa8677bba341e45;hp=b0850df81d167ad624680aa857f2b11c75af94f1;hpb=7239d7941b97be5da9bf04e900d06344aa6608f0;p=haskell-directory.git diff --git a/GHC/ForeignPtr.hs b/GHC/ForeignPtr.hs index b0850df..603a8f3 100644 --- a/GHC/ForeignPtr.hs +++ b/GHC/ForeignPtr.hs @@ -183,7 +183,7 @@ mallocForeignPtrBytes (I# size) = do -- mallocPlainForeignPtr. This is useful for ForeignPtrs that will live -- only inside Haskell (such as those created for packed strings). -- Attempts to add a finalizer to a ForeignPtr created this way, or to --- finalize such a pointer, will have no effect. +-- finalize such a pointer, will throw an exception. -- mallocPlainForeignPtr :: Storable a => IO (ForeignPtr a) mallocPlainForeignPtr = doMalloc undefined @@ -197,7 +197,8 @@ mallocPlainForeignPtr = doMalloc undefined -- | This function is similar to 'mallocForeignPtrBytes', except that -- the internally an optimised ForeignPtr representation with no --- finalizer is used. +-- finalizer is used. Attempts to add a finalizer will cause an +-- exception to be thrown. mallocPlainForeignPtrBytes :: Int -> IO (ForeignPtr a) mallocPlainForeignPtrBytes (I# size) = IO $ \s -> case newPinnedByteArray# size s of { (# s, mbarr# #) ->