RFR: 8245194: Unix domain socket channel implementation [v20]

Michael McMahon michaelm at openjdk.java.net
Wed Oct 14 16:29:27 UTC 2020


On Wed, 14 Oct 2020 12:24:11 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/def74ac0...7f677d5a
>
> src/java.base/unix/native/libnio/ch/UnixDomainSockets.c line 65:
> 
>> 63:         if (namelen != 0) {
>> 64:             (*env)->SetByteArrayRegion(env, name, 0, namelen, (jbyte*)sa->sun_path);
>> 65:         }
> 
> Should the exception status be checked after calling `SetByteArrayRegion`?

I notice a lot of other code is not fussy about checking this, but it would look safer to check and return NULL in this
case.

-------------

PR: https://git.openjdk.java.net/jdk/pull/52


More information about the hotspot-jfr-dev mailing list