[commit: base] master: Document that a FinalizerPtr is a pointer to a ccall function (#5254) (d7332cf)
Simon Marlow
marlowsd at gmail.com
Thu Aug 2 14:21:21 CEST 2012
Repository : ssh://darcs.haskell.org//srv/darcs/packages/base
On branch : master
http://hackage.haskell.org/trac/ghc/changeset/d7332cf3731be55edb4e3ad7e8b272a210a8d210
>---------------------------------------------------------------
commit d7332cf3731be55edb4e3ad7e8b272a210a8d210
Author: Simon Marlow <marlowsd at gmail.com>
Date: Thu Aug 2 11:40:17 2012 +0100
Document that a FinalizerPtr is a pointer to a ccall function (#5254)
It can't be any other calling convention, e.g. stdcall.
>---------------------------------------------------------------
GHC/ForeignPtr.hs | 2 ++
1 files changed, 2 insertions(+), 0 deletions(-)
diff --git a/GHC/ForeignPtr.hs b/GHC/ForeignPtr.hs
index 244e0fd..7e72315 100644
--- a/GHC/ForeignPtr.hs
+++ b/GHC/ForeignPtr.hs
@@ -114,6 +114,8 @@ instance Show (ForeignPtr a) where
-- finalisation time, gets as an argument a plain pointer variant of the
-- foreign pointer that the finalizer is associated with.
--
+-- Note that the foreign function /must/ use the @ccall@ calling convention.
+--
type FinalizerPtr a = FunPtr (Ptr a -> IO ())
type FinalizerEnvPtr env a = FunPtr (Ptr env -> Ptr a -> IO ())
More information about the Cvs-libraries
mailing list