RFR: 8245194: Unix domain socket channel implementation [v20]
Michael McMahon
michaelm at openjdk.java.net
Wed Oct 14 16:32:31 UTC 2020
On Wed, 14 Oct 2020 12:28:04 GMT, Daniel Fuchs <dfuchs at openjdk.org> wrote:
>> Michael McMahon has updated the pull request with a new target base due to a merge or a rebase. The incremental webrev
>> excludes the unrelated changes brought in by the merge/rebase. The pull request contains 22 additional commits since
>> the last revision:
>> - Merge branch 'master' into unixdomainchannels
>> - - reorganised the channel impls back into SocketChannelImpl and ServerSocketChannelImpl
>> - removed the new Unix domain socket events and folded the behavior into the existing socket events
>> - implemented other comments from Alan on Oct 11.
>> - unixdomainchannels: updates from Chris's review 9 Oct 2020
>> - unixdomainchannels:
>> - updated property name
>> - added JFR unit test
>> - Merge branch 'master' into unixdomainchannels
>> - - update after Alan's review on Oct 4
>> - includes API change required by JDK-8251952
>> - original CSR for the overall change will be resubmitted with
>> all api changes consolidated based on this update
>> - - simplified Copy.gmk to CAT source files directly
>> - renamed net.properties source files to all be net.properties
>> - unixdomainchannels: error in the last commit in make/modules/java.base/Copy.gmk
>> - unixdomainchannels:
>> (1) rename UnixDomainHelper to UnixDomainSocketsUtil
>> (2) remove hardcoded /tmp and /var/tmp paths from UnixDomainSocketsUtil
>> (3) replace (2) with documented system/networking properties
>> (4) Small update to UnixDomainSocketAddress API
>> (5) CSR for (3) and (4) submitted at JDK-8253930
>> (6) Update build to generate net.properties from shared net.properties.common
>> plus platform specific additions.
>> - Merge branch 'master' into unixdomainchannels
>> - ... and 12 more: https://git.openjdk.java.net/jdk/compare/1e93b2d3...7f677d5a
>
> src/java.base/unix/native/libnio/ch/UnixDomainSockets.c line 76:
>
>> 74: sa->sun_family = AF_UNIX;
>> 75: int ret;
>> 76: const char* pname = (const char *)(*env)->GetByteArrayElements(env, path, NULL);
>
> Should `pname == NULL` be checked?
A UnixDomainSocketAddress should always always have a path associated and therefore a byte array should always be
present, but again I think this is no harm for overall robustness.
-------------
PR: https://git.openjdk.java.net/jdk/pull/52
More information about the hotspot-jfr-dev
mailing list