[cp-patches] [PATCH] Fix PR classpath/24086, PR classpath/24091, PR classpath/24104 et al. ...

David Daney ddaney@avtrex.com
Wed Oct 12 17:09:00 GMT 2005


Jeroen Frijters wrote:
> David Daney wrote:
> 
>>Jeroen Frijters wrote:
>>
>>>David Daney wrote:
>>>
>>>LimitedLengthInputStream shouldn't have a finalize().
>>
>>Let's consider the case where a client program did not read 
>>the entire body of the response:
>>
>>As implemented in the patch, the finalize is indeed needed to 
>>clean up the mess and return the connection to the connection
>>pool.
> 
> 
> I understand that was the motivation, but I just don't agree with it.
> Even *if* you wanted to do this, you should use a PhantomReference to
> keep track of the lifetime of the LimitedLengthInputStream instead of a
> finalize method.
> 

The LimitedLengthInputStream *is* the class that needs to do the 
cleanup.  Once a PhontomReference is enqueued the object is gone.  A 
finalizer is simple and gets the job done.

But this is all moot as I am going to kill it anyhow.

David Daney.



More information about the Java-patches mailing list