v.io/x/jni: support java num_cpu option
Change-Id: I6c90e9c8e27eed63368eea597c2262b3a2a36e4e
diff --git a/impl/google/rpc/dispatcher.go b/impl/google/rpc/dispatcher.go
index 913fdf8..b2130ff 100644
--- a/impl/google/rpc/dispatcher.go
+++ b/impl/google/rpc/dispatcher.go
@@ -47,8 +47,7 @@
// Call Java dispatcher's lookup() method.
serviceObjectWithAuthorizerSign := jutil.ClassSign("io.v.v23.rpc.ServiceObjectWithAuthorizer")
- tempJObj, err := jutil.CallObjectMethod(env, d.jDispatcher, "lookup", []jutil.Sign{jutil.StringSign}, serviceObjectWithAuthorizerSign, suffix)
- jObj := C.jobject(tempJObj)
+ jObj, err := jutil.CallObjectMethod(env, d.jDispatcher, "lookup", []jutil.Sign{jutil.StringSign}, serviceObjectWithAuthorizerSign, suffix)
if err != nil {
return nil, nil, fmt.Errorf("error invoking Java dispatcher's lookup() method: %v", err)
}
diff --git a/impl/google/rt/jni.go b/impl/google/rt/jni.go
index adb37a4..61a61b3 100644
--- a/impl/google/rt/jni.go
+++ b/impl/google/rt/jni.go
@@ -7,14 +7,16 @@
package rt
import (
+ "runtime"
+
+ "v.io/v23"
+ _ "v.io/x/ref/profiles/roaming"
+
jns "v.io/x/jni/impl/google/namespace"
jrpc "v.io/x/jni/impl/google/rpc"
jutil "v.io/x/jni/util"
jcontext "v.io/x/jni/v23/context"
jsecurity "v.io/x/jni/v23/security"
-
- "v.io/v23"
- _ "v.io/x/ref/profiles/roaming"
)
// #include "jni.h"
@@ -31,7 +33,8 @@
}
//export Java_io_v_impl_google_rt_VRuntime_nativeInit
-func Java_io_v_impl_google_rt_VRuntime_nativeInit(env *C.JNIEnv, jRuntime C.jclass) C.jobject {
+func Java_io_v_impl_google_rt_VRuntime_nativeInit(env *C.JNIEnv, jRuntime C.jclass, jNumCpus C.jint) C.jobject {
+ runtime.GOMAXPROCS(int(jNumCpus))
ctx, _ := v23.Init()
jCtx, err := jcontext.JavaContext(env, ctx, nil)
if err != nil {