[Haskell-cafe] Loading a texture in OpenGL

Austin Seipp mad.one at gmail.com
Tue Feb 7 05:23:48 CET 2012


Just to clarify, this guarantee possibly could be made, ghc just doesn't do
it now. In the past ghc never guaranteed a finalizer would ever be run.

Regardless I would be wary of trusting finalizers to clean up very scarce
resources. A malloc'd buffer is probably fine to have a finalizer for,
texture objects or file descriptors are a different matter. Predictability
matters in those cases.

Sent from my iPhone^H^H^H^H^HPortable Turing machine

On Feb 6, 2012, at 10:16 PM, Austin Seipp <mad.one at gmail.com> wrote:

It's a precise GC of course (conservative collection would be madness
considering how much memory Haskell programs chew through.) That still
doesn't ensure your finalizer will run during the next GC even if all the
references are gone by then.

Sent from my iPhone^H^H^H^H^HPortable Turing machine

On Feb 6, 2012, at 10:09 PM, Clark Gaebel <cgaebel at csclub.uwaterloo.ca>
wrote:

Is the Haskell garbage collector conservative, or precise?

If it's conservative, then this will only usually work. If it's precise, it
should always work.

On Mon, Feb 6, 2012 at 10:56 PM, Ben Lippmeier <benl at ouroborus.net> wrote:

>
> On 07/02/2012, at 2:50 PM, Clark Gaebel wrote:
>
> > I would be running the GC manually at key points to make sure it gets
> cleaned up. Mainly, before any scene changes when basically everything gets
> thrown out anyways.
>
>
> From the docs:
>
> newForeignPtr :: FinalizerPtr a -> Ptr a -> IO (ForeignPtr a)Source
> Turns a plain memory reference into a foreign pointer, and associates a
> finalizer with the reference. The finalizer will be executed after the last
> reference to the foreign object is dropped. There is no guarantee of
> promptness, however the finalizer will be executed before the program exits.
>
>
> "No guarantee of promptness". Even if the GC knows your pointer is
> unreachable, it might choose not to call the finaliser. I think people have
> been bitten by this before.
>
> Ben.
>
>
>
_______________________________________________
Haskell-Cafe mailing list
Haskell-Cafe at haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://www.haskell.org/pipermail/haskell-cafe/attachments/20120206/45ab1a8c/attachment.htm>


More information about the Haskell-Cafe mailing list