Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
Only maestro is allowed to push in simix_global->process_to_run.
authorArnaud Giersch <arnaud.giersch@univ-fcomte.fr>
Tue, 1 Aug 2017 12:28:26 +0000 (14:28 +0200)
committerArnaud Giersch <arnaud.giersch@univ-fcomte.fr>
Tue, 1 Aug 2017 13:03:53 +0000 (15:03 +0200)
Tests msg-process-join are now expected to fail.

src/simix/popping.cpp

index 396969d..2cefef9 100644 (file)
@@ -24,12 +24,12 @@ void SIMIX_simcall_answer(smx_simcall_t simcall)
     XBT_DEBUG("Answer simcall %s (%d) issued by %s (%p)", SIMIX_simcall_name(simcall->call), (int)simcall->call,
         simcall->issuer->name.c_str(), simcall->issuer);
     simcall->issuer->simcall.call = SIMCALL_NONE;
     XBT_DEBUG("Answer simcall %s (%d) issued by %s (%p)", SIMIX_simcall_name(simcall->call), (int)simcall->call,
         simcall->issuer->name.c_str(), simcall->issuer);
     simcall->issuer->simcall.call = SIMCALL_NONE;
-/*    This check should be useless and slows everyone. Reactivate if you see something
- *    weird in process scheduling.
- */
-    /*    if(not xbt_dynar_member(simix_global->process_to_run, &(simcall->issuer))) */
+    xbt_assert(SIMIX_is_maestro(), "Ugh! This code path is reserved for maestro, but I'm '%s' on '%s'",
+               SIMIX_process_self()->cname(), sg_host_get_name(SIMIX_process_self()->host));
+    /* This check should be useless and slows everyone. Reactivate if you see something weird in process scheduling. */
+    // if (xbt_dynar_member(simix_global->process_to_run, &(simcall->issuer)))
+    //   DIE_IMPOSSIBLE;
     xbt_dynar_push_as(simix_global->process_to_run, smx_actor_t, simcall->issuer);
     xbt_dynar_push_as(simix_global->process_to_run, smx_actor_t, simcall->issuer);
-/*    else DIE_IMPOSSIBLE; */
   }
 }
 
   }
 }