addForeignPtrFinalizer - finalizers run in FIFO or LIFO order?
Henning Thielemann <[email protected]> Fri, 17 Aug 2012 14:10:02 +0200 (CEST)
| Newsgroups | gmane.comp.lang.haskell.ffi,gmane.comp.lang.haskell.libraries |
|---|---|
| Message-ID | <alpine.DEB.2.00.1208171404510.14583@anubis.informatik.uni-halle.de> |
The doc of base-4.5:Foreign.ForeignPtr.addForeignPtrFinalizer states:
"This function adds a finalizer to the given foreign object. The
finalizer will run before all other finalizers for the same object which
have already been registered."
I do
addForeignPtrFinalizer finalize1 fp
addForeignPtrFinalizer finalize2 fp
and let the finalizers print something when they are started.
I get the output:
finalizer1
finalizer2
This indicates that the newly added finalizer is run _after_ the
finalizers that are already registered. Is this a documentation bug or a
bug in the base library?