RFR: 8252971: WindowsFileAttributes does not know about Unix domain sockets [v7]
Alan Bateman
alanb at openjdk.java.net
Tue Feb 9 15:36:40 UTC 2021
On Mon, 8 Feb 2021 22:54:56 GMT, Michael McMahon <michaelm at openjdk.org> wrote:
>> Could I get the following change reviewed please? It fixes a problem (in JEP380) on Windows where some file operations on Unix domain sockets were not working and led to the feature being disabled on Windows 2019 Server in JDK 16. So, the fix re-enables the feature on all versions of Windows that support it.
>>
>> The test checks all the file APIs that were affected by the problem. The change touches the code that handles symbolic links in Windows (since they are implemented as NTFS reparse points, like Unix sockets), but I didn't add any specific testing in this area, as I assume the existing unit tests for NIO symbolic links should cover that. If I should add more tests here, then I can do that.
>>
>> Thanks,
>> Michael
>
> Michael McMahon has updated the pull request incrementally with one additional commit since the last revision:
>
> update
src/java.base/windows/classes/sun/nio/fs/WindowsPath.java line 840:
> 838: throw e;
> 839: // Object could be a Unix domain socket
> 840: try {
Thanks for the updates, I think the fallback checking is correct everywhere now.
What would you think about inverting the above so that it only checks for a socket file when followLinks && e.lastError() == ERROR_CANT_ACCESS_FILE. That would make it more consistent with the new code in WIndowsFileSystemProvider.
-------------
PR: https://git.openjdk.java.net/jdk/pull/2424
More information about the core-libs-dev
mailing list