This is the mail archive of the java-patches@gcc.gnu.org mailing list for the Java project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

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


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.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]