This is the mail archive of the
mailing list for the Mauve project.
RE: runFinalization in Classloader.initialize doesn't run on cacao
- From: "Jeroen Frijters" <jeroen at sumatra dot nl>
- To: "Olivier Jolly" <olivier dot jolly at pcedev dot com>
- Cc: <mauve-discuss at sources dot redhat dot com>, "Mauve Patch List" <mauve-patches at sources dot redhat dot com>
- Date: Sat, 11 Mar 2006 20:07:17 +0100
- Subject: RE: runFinalization in Classloader.initialize doesn't run on cacao
Olivier Jolly wrote:
> while wandering around with Classloaders, I found that the teslet
> gnu.testlet.java.lang.Classloader.initialize wasn't running
> with Cacao.
> It seems that in the beginning of the test method, it creates an
> anonymous Classloader and then call System.gc() and
> System.runFinalization() and expects the finalizer to be ran to set a
> singleton like variable holder.
> While this is ok in jamvm and sun jre 1.5.0, cacao doesn't run the
> finalizer since runFinalization only gives a hint and not a mandatory
> order, so it is compliant.
> My question is whether I'm missing something and this way of doing
> brings something in this test or it could be rewritten in a
> simpler way, more compliant with the various jvm.
I'm obviously not aware of an easier (or more robust) way to do this, or
I would have used it. However, this is a very important test (from a
security pov), so it has to be in. If Cacao can't or won't support
System.runFinalization(), I suggest skipping this test.