X-Git-Url: http://git.megacz.com/?a=blobdiff_plain;f=Foreign%2FForeignPtr.hs;h=a60358788e95196a7eeb1377dbd0690bd1246756;hb=9fa9bc17072a58c0bae2cce4764d38677e96ac29;hp=dffd225cb4ebabb118675121e3f3fce88feb6ec2;hpb=5545727d5a6a1fc6d5d00f32a92a8fdf0fb7ca77;p=ghc-base.git diff --git a/Foreign/ForeignPtr.hs b/Foreign/ForeignPtr.hs index dffd225..a603587 100644 --- a/Foreign/ForeignPtr.hs +++ b/Foreign/ForeignPtr.hs @@ -1,6 +1,6 @@ {-# OPTIONS -fno-implicit-prelude #-} ----------------------------------------------------------------------------- --- +-- | -- Module : Foreign.ForeignPtr -- Copyright : (c) The University of Glasgow 2001 -- License : BSD-style (see the file libraries/core/LICENSE) @@ -9,7 +9,7 @@ -- Stability : provisional -- Portability : portable -- --- $Id: ForeignPtr.hs,v 1.2 2001/07/03 11:37:50 simonmar Exp $ +-- $Id: ForeignPtr.hs,v 1.4 2002/04/24 16:31:44 simonmar Exp $ -- -- This module defines foreign pointers, i.e. addresses with associated -- finalizers. @@ -44,12 +44,8 @@ INSTANCE_TYPEABLE1(ForeignPtr,foreignPtrTc,"ForeignPtr") data ForeignPtr a = ForeignPtr ForeignObj# instance CCallable (ForeignPtr a) -eqForeignPtr :: ForeignPtr a -> ForeignPtr a -> Bool -eqForeignPtr mp1 mp2 - = unsafePerformIO (primEqForeignPtr mp1 mp2) /= (0::Int) - -foreign import "eqForeignObj" unsafe - primEqForeignPtr :: ForeignPtr a -> ForeignPtr a -> IO Int +eqForeignPtr :: ForeignPtr a -> ForeignPtr a -> Bool +eqForeignPtr (ForeignPtr fo1#) (ForeignPtr fo2#) = eqForeignObj# fo1# fo2# instance Eq (ForeignPtr a) where p == q = eqForeignPtr p q