[gclist] Finalization and death notices

Greg Colvin gcolvin@us.oracle.com
Sat, 6 Oct 2001 15:10:33 -0600


From: Marc Shapiro -- at work <marc.shapiro@acm.org>
> || Date: Thu, 04 Oct 2001 14:57:45 -0500
>  || From: Charles Fiterman <cef@geodesic.com>
>  || Subject: Finalization and the insane postman bug.
>  || 
>  || what is required is a death notice. The user is informed
>  || by some mechanism that an object died. The death notice is an identifer
>  || associated with the objct not the object's address. Now priority, order,
>  || time and context are in the user's control. If some objects are reference
>  || counted they give death notices too.
> 
> I have been following this argument from afar.  Clearly there is a need
> for some application-level cleanup mechanism when certain objects are
> collected, but finalisers are very bug-prone.
> 
> I think I'm convinced now that finalisers are bad and death notices are
> good.  A death notice is just an event posted by the system to the user
> program.  It's up to the application code to pick it up at leisure.  So
> it's the user's responsibility to fork threads or not, catch exceptions
> or not, and to worry about termination or not.  The user gets the
> service he needs, and the system does not get compromised.

What I don't understand is why "an identifer associated with the object
not the object's address."  Of what use is the identifier if you can't
the objexcts address from it?