Pass a pointer to JNI_GetCreatedJavaVMs() instead of null / review please
kumar.x.srinivasan at oracle.COM
Mon May 7 21:32:55 UTC 2012
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
> Hi Kumar,
> Based on the discussion, should it check for a (retval != JNI_OK || vm
> == null) instead of (retval < 0 || vm == null)?
> 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>>
> Please review
> 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
> 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.
More information about the core-libs-dev