Pass a pointer to JNI_GetCreatedJavaVMs() instead of null / review please

Kumar Srinivasan kumar.x.srinivasan at oracle.COM
Mon May 7 21:32:55 UTC 2012


Hi Vitaly,

The JNI Spec says the following:

"Returns |JNI_OK| on success; returns a suitable JNI error code (a 
negative number) on failure."

It doesn't really matter,  if others feel strongly about it, I will 
change it.

Kumar


> Hi Kumar,
>
> Based on the discussion, should it check for a (retval != JNI_OK || vm 
> == null) instead of (retval < 0 || vm == null)?
>
> Regards,
> Vitaly
>
> Sent from my phone
>
> On May 7, 2012 4:23 PM, "Kumar Srinivasan" 
> <kumar.x.srinivasan at oracle.com <mailto:kumar.x.srinivasan at oracle.com>> 
> wrote:
>
>     Hi,
>
>     Please review
>
>     http://cr.openjdk.java.net/~ksrini/7166955
>     <http://cr.openjdk.java.net/%7Eksrini/7166955>
>
>
>     Thanks
>     Kumar
>
>         On 07/05/2012 16:45, Kumar Srinivasan wrote:
>
>             Hi David, Deven, Alan,
>
>                 The spec doesn't say anything but the implementation
>                 does check for NULL. I think this is a spec issue
>                 rather than a code issue (and I think hotspot-runtime
>                 owns the JNI spec so cc'ed). It is common practice for
>                 API's that take pointers like this to say "if buf is
>                 not NULL then the value of XXX is written into buf".
>                 Particularly as in this case there will only ever be
>                 at most 1 VM created per-process anyway.
>
>                 I'm more concerned about the fact that the code
>                 doesn't even check if JNI_GetCreatedVMs returns
>                 successfully!
>
>
>             Ouch!, I will file a CR and fix this.
>
>         I think HotSpot can only ever return JNI_OK so it may only be
>         a potential issue when running with another VM.
>
>         -Alan
>
>




More information about the core-libs-dev mailing list