[klib] Create ZipFileSystem from a Path instead of an URI
Calling FileSystems.newFileSystem(URI, ...) throws a FileSystemAlreadyExistsException if a ZipFileSystem for this URI is already created. We still can use a single instance of ZipFileSystem by calling FileSystems.getFileSystem. In this case we use reference counting to determine when this instance can be safely closed. But we cannot count references if the same ZipFileSystem is used from different class loaders. This patch fixes this issue by creating a file system from Path instead of an URI. Contract of FileSystemProvider.newFileSystem(Path, ...) doesn't imply throwing FileSystemAlreadyExistsException. Issue #KT-37443 fixed
Showing
想要评论请 注册 或 登录