Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
Add a new simcall to get/set the receiver of a rendez-vous point.
[simgrid.git] / src / simix / smx_smurf.c
index 8ade58f..7278076 100644 (file)
@@ -203,6 +203,16 @@ void SIMIX_simcall_pre(smx_simcall_t simcall, int value)
       SIMIX_simcall_answer(simcall);
       break;
 
+    case SIMCALL_RDV_SET_RECV:
+      SIMIX_rdv_set_receiver(simcall->rdv_set_rcv_proc.rdv, simcall->rdv_set_rcv_proc.receiver);
+      SIMIX_simcall_answer(simcall);
+      break;
+
+    case SIMCALL_RDV_GET_RECV:
+      simcall->rdv_get_rcv_proc.result = SIMIX_rdv_get_receiver(simcall->rdv_set_rcv_proc.rdv);
+      SIMIX_simcall_answer(simcall);
+      break;
+
     case SIMCALL_HOST_GET_BY_NAME:
       simcall->host_get_by_name.result =
         SIMIX_host_get_by_name(simcall->host_get_by_name.name);
@@ -318,7 +328,7 @@ void SIMIX_simcall_pre(smx_simcall_t simcall, int value)
       break;
 
     case SIMCALL_PROCESS_KILL:
-      SIMIX_process_kill(simcall->process_kill.process);
+      SIMIX_process_kill(simcall->process_kill.process,simcall->issuer);
       SIMIX_simcall_answer(simcall);
       break;
 
@@ -334,8 +344,8 @@ void SIMIX_simcall_pre(smx_simcall_t simcall, int value)
 
     case SIMCALL_PROCESS_CHANGE_HOST:
       SIMIX_pre_process_change_host(
-    simcall->process_change_host.process,
-    simcall->process_change_host.dest);
+          simcall->process_change_host.process,
+          simcall->process_change_host.dest);
       SIMIX_simcall_answer(simcall);
       break;
 
@@ -364,6 +374,10 @@ void SIMIX_simcall_pre(smx_simcall_t simcall, int value)
                             simcall->process_on_exit.data);
       SIMIX_simcall_answer(simcall);
     break;
+    case SIMCALL_PROCESS_RESTART:
+      simcall->process_restart.result = SIMIX_process_restart(simcall->process_restart.process, simcall->issuer);
+      SIMIX_simcall_answer(simcall);
+    break;
     case SIMCALL_PROCESS_AUTO_RESTART_SET:
       SIMIX_process_auto_restart_set(simcall->process_auto_restart.process,simcall->process_auto_restart.auto_restart);
       SIMIX_simcall_answer(simcall);
@@ -518,6 +532,10 @@ void SIMIX_simcall_pre(smx_simcall_t simcall, int value)
       SIMIX_pre_file_stat(simcall);
       break;
 
+    case SIMCALL_FILE_UNLINK:
+      SIMIX_pre_file_unlink(simcall);
+      break;
+
     case SIMCALL_NONE:
       THROWF(arg_error,0,"Asked to do the noop syscall on %s@%s",
           SIMIX_process_get_name(simcall->issuer),