Yukihiro Matsumoto wrote:
> 
> I'm not sure how much hackish it is.  Basically all resources are
> reclaimed by the operating system at the process termination.  If you
> have something that can not be reclaimed automatically by the OS,
> you can not expect GC to handle it automagically either.

A counter-example would be creating a named pipe, or a shared memory 
segment, or a large tmp file that should be removed at program exit.  If 
an application relies on finalizers or other semi-non-deterministic 
tricks to accomplish the cleanup, then it could easily leave system 
resources allocated.  IMHO, such an application is flawed, since there 
are much better ways to guarantee cleanup at the end of an application. 
  It's a matter of setting expectations.

I also like exiting without going through a complete GC at the end of 
execution.  It's faster and avoids the tricky problems with the ordering 
of destructors.  But, I'm also willing to mandate the use of at_exit() 
for critical cleanup tasks.

-- 
Glenn Parker | glenn.parker-AT-comcast.net | <http://www.tetrafoil.com/>