X-Git-Url: http://info.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/blobdiff_plain/8d1f73ed29652d96dc7644de4c7cfc64c2e199b4..403af5e6247ce6452b721f418a5b41e4548efac4:/src/simix/popping.cpp diff --git a/src/simix/popping.cpp b/src/simix/popping.cpp index 2cefef94e6..2672a4a86c 100644 --- a/src/simix/popping.cpp +++ b/src/simix/popping.cpp @@ -3,10 +3,10 @@ /* This program is free software; you can redistribute it and/or modify it * under the terms of the license (GNU LGPL) which comes with this package. */ -#include "smx_private.h" +#include "smx_private.hpp" #include "xbt/xbt_os_thread.h" #if SIMGRID_HAVE_MC -#include "src/mc/mc_private.h" +#include "src/mc/mc_private.hpp" #endif #include "src/kernel/activity/CommImpl.hpp" @@ -24,12 +24,13 @@ 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_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)); +#if 0 /* 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); + if (std::find(begin(simix_global->process_to_run), end(simix_global->process_to_run), simcall->issuer) != + end(simix_global->process_to_run)) + DIE_IMPOSSIBLE; +#endif + simix_global->process_to_run.push_back(simcall->issuer); } }