On Mon, 8 Feb 2021 22:54:56 GMT, Michael McMahon <[email protected]> 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