On Thu, 26 Feb 2026 12:23:44 GMT, Eirik Bjørsnøs <[email protected]> wrote:
> Please review this cleanup PR where we simplify synchronization on ZipFile's > inflater cache. > > Currently, the `ZipFile.CleanableResource.inflaterCache` field is non-final, > is used in synchronization and is set to `null` to indicate a closed inflater > cache. This complicates the state considerations for synchronization, > requiring double-checking that the cache does not close under us. Generally, > correctness of synchronizing on a non-final field which can also be null is > hard to reason about. > > This PR marks the `inflaterCache` field as `final` and introduces a boolean > flag field to model the closed state explicitly. This allows synchronization > to be simplified, double-checking to be removed and the closed state to be > more obvious. If we want the future ZipFile to be less mutable, this is one > step in that direction. > > Cleanup refactoring, `noreg-cleanup` This pull request has been closed without being integrated. ------------- PR: https://git.openjdk.org/jdk/pull/29937
