X-Git-Url: http://info.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/blobdiff_plain/83803fce1bb1e3657b8e5697df09d73b551bab05..bc436d65d9cca17916fe60d8f3bc6c052541699c:/src/jmsg_task.c diff --git a/src/jmsg_task.c b/src/jmsg_task.c index d376bbc8e9..72a6480642 100644 --- a/src/jmsg_task.c +++ b/src/jmsg_task.c @@ -45,11 +45,15 @@ Java_org_simgrid_msg_Task_nativeInit(JNIEnv *env, jclass cls) { jclass jtask_class_Comm = (*env)->FindClass(env, "org/simgrid/msg/Comm"); jtask_field_Comm_constructor = (*env)->GetMethodID(env, jtask_class_Comm, "", "()V"); - //FIXME: Don't use jxbt_get_sfield directly. + //FIXME: Don't use jxbt_get_sfield directly, it is slower. jtask_field_Task_bind = jxbt_get_sfield(env, "org/simgrid/msg/Task", "bind", "J"); jtask_field_Comm_bind = jxbt_get_sfield(env, "org/simgrid/msg/Comm", "bind", "J"); jtask_field_Comm_taskBind = jxbt_get_sfield(env, "org/simgrid/msg/Comm", "taskBind", "J"); jtask_field_Comm_receiving = jxbt_get_sfield(env, "org/simgrid/msg/Comm", "receiving", "Z"); + if (!jtask_field_Task_bind || !jtask_field_Comm_bind || !jtask_field_Comm_taskBind || + !jtask_field_Comm_receiving || !jtask_field_Comm_constructor) { + jxbt_throw_native(env,bprintf("Can't find some fields in Java class.")); + } } JNIEXPORT void JNICALL