void Process::set_data(int* argc, char*** argv)
{
instance_id_ = std::string((*argv)[1]);
- comm_world_ = smpi_deployment_comm_world(instance_id_.c_str());
- msg_bar_t barrier = smpi_deployment_finalization_barrier(instance_id_.c_str());
+ comm_world_ = smpi_deployment_comm_world(instance_id_);
+ msg_bar_t barrier = smpi_deployment_finalization_barrier(instance_id_);
if (barrier != nullptr) // don't overwrite the current one if the instance has none
finalization_barrier_ = barrier;
// cheinrich: I'm not sure what the impact of the SMPI_switch_data_segment on this call is. I moved
// this up here so that I can set the privatized region before the switch.
Process* process = smpi_process_remote(proc);
- int my_proc_id = proc->getPid();
if(smpi_privatize_global_variables == SMPI_PRIVATIZE_MMAP){
/* Now using the segment index of this process */
process->set_privatized_region(smpi_init_global_memory_segment_process());
/* Done at the process's creation */
- SMPI_switch_data_segment(my_proc_id);
+ SMPI_switch_data_segment(proc);
}
process->set_data(argc, argv);