Hi Sherman,

On 10/11/2017 12:22 AM, Xueming Shen wrote:

Peter,

Webrev has been updated accordingly to remove the "inflater" from the
"streams" as the "value" of the map. As suggested, the "streams" now
itself is a "set".

And, a package private "Infater()" has been added to avoid registering the
inflater to Cleaner for those inflaters from ZipFile.

Many,

The @apiNote has been updated accordingly to remove the words regarding
"finalize() overriding".

http://cr.openjdk.java.net/~sherman/8185582/webrev/

Thanks,
Sherman

This looks good to me.

Regards, Peter


On 9/30/17, 12:41 AM, Peter Levart wrote:


Right, the Inflater is captured by the cleaning function for the ZipFileInflaterInputStream and is kept strongly reachable until the function fires, which may happen automatically or manually. At that time, it is returned to the inflaters cache, which is rooted at the ZipFile instance and also captured by the ZipFile cleaning function - the Releaser, which is strongly reachable until fired. So I claim that there is no possibility for Inflaters used in ZipFile to ever get cleaned-up (ended) automatically by their cleaner functions as a result of getting phantom reachable. The situation has changed. It could even be beneficial to create a package-private Inflater constructor for this case, which creates Inflaters without cleaner registration.

Regards, Peter



Reply via email to