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