Fri Mar 27 12:06:03 CET 2009 Axel Simon <axel.si...@ens.fr> * Make explicit use of concurrent finalizers. This patch acounts for the change of semantics that finalizers undergo with the release of GHC 6.10.1. Specifcially, finalizers are now by default run during garbage collection, making it impossible to have them call back to Haskell land. This patch uses functions that specifically schedule any finilizers to be run as new threads once the mutator springs back to life.
New patches:
[Make explicit use of concurrent finalizers. Axel Simon <axel.si...@ens.fr>**20090327110603 This patch acounts for the change of semantics that finalizers undergo with the release of GHC 6.10.1. Specifcially, finalizers are now by default run during garbage collection, making it impossible to have them call back to Haskell land. This patch uses functions that specifically schedule any finilizers to be run as new threads once the mutator springs back to life. ] { hunk ./glib/System/Glib/FFI.hs.pp 46 +#if (__GLASGOW_HASKELL__>=610) +import qualified Foreign.Concurrent +#endif hunk ./glib/System/Glib/FFI.hs.pp 53 +#if (__GLASGOW_HASKELL__>=610) +newForeignPtr :: Ptr a -> FinalizerPtr a -> IO (ForeignPtr a) +newForeignPtr p finalizer + = Foreign.Concurrent.newForeignPtr p (mkFinalizer finalizer p) + +foreign import ccall "dynamic" + mkFinalizer :: FinalizerPtr a -> Ptr a -> IO () +#else +newForeignPtr :: Ptr a -> FinalizerPtr a -> IO (ForeignPtr a) hunk ./glib/System/Glib/FFI.hs.pp 63 +#endif } Context: [Fix documentation. axel.si...@ens.fr**20090217180909] [TAG 0.10.0 Peter Gavin <pga...@gmail.com>**20090207054815] Patch bundle hash: 3b5048f621e79db12e9ea9a38ebf49e345465933
------------------------------------------------------------------------------
_______________________________________________ Gtk2hs-devel mailing list Gtk2hs-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/gtk2hs-devel