On Thu, 23 Jun 2022 07:18:07 GMT, Alan Bateman <al...@openjdk.org> wrote:
>> src/java.base/unix/classes/sun/nio/fs/UnixFileAttributes.java line 80: >> >>> 78: static UnixFileAttributes getIfExists(UnixPath path) throws >>> UnixException { >>> 79: UnixFileAttributes attrs = new UnixFileAttributes(); >>> 80: int errno = UnixNativeDispatcher.stat2(path, attrs); >> >> I think that this is the only use of `stat2()`. It could be deleted if this >> method were replaced with this: >> >> >> static UnixFileAttributes getIfExists(UnixPath path) throws >> UnixException { >> UnixFileAttributes attrs = new UnixFileAttributes(); >> try { >> UnixNativeDispatcher.stat(path, attrs); >> return attrs; >> } catch (UnixException e) { >> if (e.errno() == UnixConstants.ENOENT) { >> return null; >> } >> throw e; >> } >> } > >> I think that this is the only use of `stat2()`. It could be deleted if this >> method were replaced with this: > > The purpose of these additions to the SPI is to improve the performance of > user facing methods that don't throw an exception when the file doesn't > exist. It needs a stat/equivalent that doesn't throw so this is the reason > for stat2. The equivalent on Windows will need to added too. Understood. ------------- PR: https://git.openjdk.org/jdk/pull/9249