void* data_ = nullptr; /* user data */
char state_;
int sampling_ = 0; /* inside an SMPI_SAMPLE_ block? */
- char* instance_id_ = nullptr;
+ std::string instance_id_;
bool replaying_ = false; /* is the process replaying a trace */
msg_bar_t finalization_barrier_;
int return_value_ = 0;
void Process::set_data(int* argc, char*** argv)
{
- char* instance_id = (*argv)[1];
- comm_world_ = smpi_deployment_comm_world(instance_id);
- msg_bar_t barrier = smpi_deployment_finalization_barrier(instance_id);
+ 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());
if (barrier != nullptr) // don't overwrite the current one if the instance has none
finalization_barrier_ = barrier;
- instance_id_ = instance_id;
process_ = simgrid::s4u::Actor::self();
static_cast<simgrid::msg::ActorExt*>(process_->getImpl()->userdata)->data = this;