Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
Add MSG_process_join [#13601]
[simgrid.git] / src / simix / smx_smurf.c
index 77623e7..e36f6d2 100644 (file)
@@ -56,14 +56,14 @@ void SIMIX_simcall_answer(smx_simcall_t simcall)
 void SIMIX_simcall_pre(smx_simcall_t simcall, int value)
 {
   XBT_DEBUG("Handling simcall %p: %s", simcall, SIMIX_simcall_name(simcall->call));
-  simcall->mc_value = value;
+  SIMCALL_SET_MC_VALUE(simcall, value);
   if (simcall->issuer->context->iwannadie && simcall->call != SIMCALL_PROCESS_CLEANUP)
     return;
   switch (simcall->call) {
 #include "simcalls_generated_case.c"
-    case NUM_SIMCALLS:;
+    case NUM_SIMCALLS:
       break;
-    case SIMCALL_NONE:;
+    case SIMCALL_NONE:
       THROWF(arg_error,0,"Asked to do the noop syscall on %s@%s",
           SIMIX_process_get_name(simcall->issuer),
           SIMIX_host_get_name(SIMIX_process_get_host(simcall->issuer))
@@ -96,6 +96,10 @@ void SIMIX_simcall_post(smx_action_t action)
       SIMIX_post_process_sleep(action);
       break;
 
+    case SIMIX_ACTION_JOIN:
+      SIMIX_post_process_sleep(action);
+      break;
+
     case SIMIX_ACTION_SYNCHRO:
       SIMIX_post_synchro(action);
       break;
@@ -120,7 +124,7 @@ void SIMIX_simcall_post(smx_action_t action)
 /* FIXME find a way to make this work
 simcall_handler_t simcall_table[NUM_SIMCALLS] = {
 #undef SIMCALL_ENUM_ELEMENT
-#define SIMCALL_ENUM_ELEMENT(x,y) &y // generate strings from the enumeration values 
+#define SIMCALL_ENUM_ELEMENT(x,y) &y // generate strings from the enumeration values
 SIMCALL_LIST
 #undef SIMCALL_ENUM_ELEMENT
 };*/