RFR: 8305089: Implement missing socket options on AIX [v2]

Varada M duke at openjdk.org
Fri Mar 31 07:48:19 UTC 2023


On Fri, 31 Mar 2023 01:19:05 GMT, Jaikiran Pai <jpai at openjdk.org> wrote:

>> `newInstance("jdk.net.AIXSocketOptions")` will try to invoke the default constructor  `AIXSocketOptions() {}`. When we make it as private constructor PlatformSocketOptions instance will try to find jdk.net.AIXSocketOptions and within the time span it won't be able to find hence throws error (`Cannot get VM for test: java.net.SocketTimeoutException: Accept timed out`)
>
> Hello Varada, 
> I went back and looked at how this class instance gets instantiated. The code uses reflection to do it:
> 
> 
> private static PlatformSocketOptions newInstance(String cn) {
>   Class<PlatformSocketOptions> c;
>   try {
>       c = (Class<PlatformSocketOptions>)Class.forName(cn);
>       return c.getConstructor(new Class<?>[] { }).newInstance();
> 
> so yes, this expects a `public` constructor and that explains why the existing `LinuxSocketOptions` has a public constructor.
> 
> What you have right now, in this class, looks fine to me then.

Thank you @jaikiran for the review

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

PR Review Comment: https://git.openjdk.org/jdk/pull/13240#discussion_r1154131541



More information about the build-dev mailing list