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?