void jtask_bind(jobject jtask, msg_task_t task, JNIEnv * env)
{
- (*env)->SetLongField(env, jtask, jtask_field_Task_bind, (jlong) (long) (task));
+ (*env)->SetLongField(env, jtask, jtask_field_Task_bind, (intptr_t)task);
}
msg_task_t jtask_to_native_task(jobject jtask, JNIEnv * env)
{
- return (msg_task_t) (long) (*env)->GetLongField(env, jtask, jtask_field_Task_bind);
+ return (msg_task_t)(intptr_t)(*env)->GetLongField(env, jtask, jtask_field_Task_bind);
}
jboolean jtask_is_valid(jobject jtask, JNIEnv * env)
}
msg_error_t rv;
rv = MSG_task_execute(task);
+ if ((*env)->ExceptionOccurred(env))
+ return;
if (rv != MSG_OK) {
jmsg_throw_status(env, rv);
}
alias = (*env)->GetStringUTFChars(env, jalias, 0);
rv = MSG_task_receive_ext(task, alias, (double) jtimeout, host);
+ if ((*env)->ExceptionOccurred(env))
+ return NULL;
if (rv != MSG_OK) {
jmsg_throw_status(env,rv);
return NULL;