Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
Merge scm.gforge.inria.fr:/gitroot/simgrid/simgrid-java
authorSamuel Lepetit <samuel.lepetit@inria.fr>
Tue, 12 Jun 2012 07:58:16 +0000 (09:58 +0200)
committerSamuel Lepetit <samuel.lepetit@inria.fr>
Tue, 12 Jun 2012 07:58:16 +0000 (09:58 +0200)
Conflicts:
src/jmsg_process.c
src/jmsg_process.h

1  2 
org/simgrid/msg/Process.java
src/jmsg_process.c
src/jmsg_process.h

@@@ -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.
         *
                 catch(ProcessKilledError pk) {
                         
                 }      
 +              exit();
        }
  
        /**
       */
        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
  #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
@@@ -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);
  /*
   * 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,
  /*
   * 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);
  /*
   * 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 */