From: Samuel Lepetit Date: Tue, 12 Jun 2012 07:58:16 +0000 (+0200) Subject: Merge scm.gforge.inria.fr:/gitroot/simgrid/simgrid-java X-Git-Tag: v3_9_90~569^2~19^2~56^2~6 X-Git-Url: http://info.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/commitdiff_plain/d14a5bb9a5e3388eca71c02b8dfb487cc7db9ce5?hp=-c Merge scm.gforge.inria.fr:/gitroot/simgrid/simgrid-java Conflicts: src/jmsg_process.c src/jmsg_process.h --- d14a5bb9a5e3388eca71c02b8dfb487cc7db9ce5 diff --combined org/simgrid/msg/Process.java index f8c1061244,375a142995..f9572c58f9 --- a/org/simgrid/msg/Process.java +++ b/org/simgrid/msg/Process.java @@@ -288,6 -288,12 +288,12 @@@ public abstract class Process implement public int getPPID() { return ppid; } + /** + * Set the kill time of the process + * @param killTime the time when the process is killed + */ + public native void setKillTime(double killTime); + /** * This static method returns the currently running process. * @@@ -371,7 -377,6 +377,7 @@@ catch(ProcessKilledError pk) { } + exit(); } /** @@@ -382,7 -387,7 +388,7 @@@ */ public abstract void main(String[]args) throws MsgException; - + public native void exit(); /** * Class initializer, to initialize various JNI stuff */ diff --combined src/jmsg_process.c index 1fa964ce93,49626af7c0..78c88dccc1 --- a/src/jmsg_process.c +++ b/src/jmsg_process.c @@@ -11,19 -11,9 +11,19 @@@ #include "jmsg_host.h" #include "jxbt_utilities.h" #include "smx_context_java.h" +#include "smx_context_cojava.h" XBT_LOG_EXTERNAL_DEFAULT_CATEGORY(jmsg); +JNIEXPORT void JNICALL +Java_org_simgrid_msg_Process_exit(JNIEnv *env, jobject jprocess) { + if (smx_factory_initializer_to_use == SIMIX_ctx_cojava_factory_init) { + m_process_t process = jprocess_to_native_process(jprocess, env); + smx_context_t context = MSG_process_get_smx_ctx(process); + smx_ctx_cojava_stop(context); + } +} + jobject native_to_java_process(m_process_t process) { return ((smx_ctx_java_t)MSG_process_get_smx_ctx(process))->jprocess; @@@ -335,6 -325,8 +335,8 @@@ Java_org_simgrid_msg_Process_migrate(JN /* change the host java side */ (*env)->SetObjectField(env, jprocess, jprocess_field_Process_host, jhost); } - - - + JNIEXPORT void JNICALL + Java_org_simgrid_msg_Process_setKillTime (JNIEnv *env , jobject jprocess, jdouble jkilltime) { + m_process_t process = jprocess_to_native_process(jprocess, env); + MSG_process_set_kill_time(process, (double)jkilltime); + } diff --combined src/jmsg_process.h index 3b87be65eb,0df379606f..3866ad9520 --- a/src/jmsg_process.h +++ b/src/jmsg_process.h @@@ -22,9 -22,6 +22,9 @@@ jfieldID jprocess_field_Process_name jfieldID jprocess_field_Process_pid; jfieldID jprocess_field_Process_ppid; +JNIEXPORT void JNICALL +Java_org_simgrid_msg_Process_exit(JNIEnv *env, jobject); + jobject native_to_java_process(m_process_t process); @@@ -150,7 -147,7 +150,7 @@@ Java_org_simgrid_msg_Process_nativeInit /* * Class org_simgrid_msg_Process * Method create - * Signature (Lsimgrid/msg/Host;)V + * Signature (Lorg/simgrid/msg/Host;)V */ JNIEXPORT void JNICALL Java_org_simgrid_msg_Process_create(JNIEnv * env, @@@ -168,7 -165,7 +168,7 @@@ JNIEXPORT jint JNICALL Java_org_simgrid /* * Class org_simgrid_msg_Process * Method fromPID - * Signature (I)Lsimgrid/msg/Process; + * Signature (I)Lorg/simgrid/msg/Process; */ JNIEXPORT jobject JNICALL Java_org_simgrid_msg_Process_fromPID (JNIEnv *, jclass, jint); @@@ -176,14 -173,14 +176,14 @@@ /* * Class org_simgrid_msg_Process * Method currentProcess - * Signature ()Lsimgrid/msg/Process; + * Signature ()Lorg/simgrid/msg/Process; */ JNIEXPORT jobject JNICALL Java_org_simgrid_msg_Process_currentProcess (JNIEnv *, jclass); /* * Class org_simgrid_msg_Process * Method pause - * Signature (Lsimgrid/msg/Process;)V + * Signature (Lorg/simgrid/msg/Process;)V */ JNIEXPORT void JNICALL Java_org_simgrid_msg_Process_pause(JNIEnv * env, @@@ -191,14 -188,14 +191,14 @@@ /* * Class org_simgrid_msg_Process * Method restart - * Signature (Lsimgrid/msg/Process;)V + * Signature (Lorg/simgrid/msg/Process;)V */ JNIEXPORT void JNICALL Java_org_simgrid_msg_Process_restart (JNIEnv *, jobject); /* * Class org_simgrid_msg_Process * Method isSuspended - * Signature (Lsimgrid/msg/Process;)Z + * Signature (Lorg/simgrid/msg/Process;)Z */ JNIEXPORT jboolean JNICALL Java_org_simgrid_msg_Process_isSuspended (JNIEnv *, jobject); @@@ -220,7 -217,7 +220,7 @@@ JNIEXPORT void JNICALL Java_org_simgrid /* * Class org_simgrid_msg_Process * Method kill - * Signature (Lsimgrid/msg/Process;)V + * Signature (Lorg/simgrid/msg/Process;)V */ JNIEXPORT void JNICALL Java_org_simgrid_msg_Process_kill (JNIEnv *, jobject); @@@ -228,9 -225,16 +228,16 @@@ /* * Class org_simgrid_msg_Process * Method migrate - * Signature (Lsimgrid/msg/Host;)V + * Signature (Lorg/simgrid/msg/Host;)V */ JNIEXPORT void JNICALL Java_org_simgrid_msg_Process_migrate (JNIEnv *, jobject, jobject); + /* + * Class org_simgrid_msg_Process + * Method setKillTime + * Signature (D)V + */ + JNIEXPORT void JNICALL Java_org_simgrid_msg_Process_setKillTime + (JNIEnv *, jobject, jdouble); #endif /* !MSG_JPROCESS_H */