On Thu, Oct 17, 2002 at 10:09:06AM +0100, Simon Marlow wrote: > > There's another problem with Simon's patch I haven't been able to pin > > down: if you run the example, interrupt it at the right point and type > > another expression, the finalizers run, but the expression is lost. > > I can get it to fail another way too: > > main = do > p <- mallocBytes 64 > newForeignPtr p (print x) > print x > where > x = sum [1..10000] > > Can't believe I didn't realise this kind of thing might be a problem > before... guess I was too fixated on the other issues. Anyway, it > really needs someone who is familiar with the Hugs backend to comment on > whether either of these problems are fixable or not.
I can fix mine, though not yours: it's necessary to wrap runFinalizers() in push(n) ... drop(), so the garbage collector will see n. _______________________________________________ FFI mailing list [EMAIL PROTECTED] http://www.haskell.org/mailman/listinfo/ffi