void Process::set_data(int index, int* argc, char*** argv)
{
char* instance_id = (*argv)[1];
- comm_world_ = smpi_deployment_comm_world(instance_id);
- msg_bar_t bar = smpi_deployment_finalization_barrier(instance_id);
- if (bar!=nullptr) // don't overwrite the default one
+ comm_world_ = smpi_deployment_comm_world(instance_id);
+ msg_bar_t bar = smpi_deployment_finalization_barrier(instance_id);
+ if (bar != nullptr) // don't overwrite the current one if the instance has none
finalization_barrier_ = bar;
instance_id_ = instance_id;
- index_ = index;
+ index_ = index;
static_cast<simgrid::msg::ActorExt*>(SIMIX_process_self()->userdata)->data = this;
smx_actor_t proc = SIMIX_process_self();
proc->context->set_cleanup(&MSG_process_cleanup_from_SIMIX);
- int index = proc->pid - 1;
+ int index = proc->pid - 1; // The maestro process has always ID 0 but we don't need that process here
if(index_to_process_data == nullptr){
index_to_process_data=static_cast<int*>(xbt_malloc(SIMIX_process_count()*sizeof(int)));