From eab85056cbbc13c9f86b98e59cb84a37e2fbe546 Mon Sep 17 00:00:00 2001 From: Christian Heinrich Date: Wed, 17 Jan 2018 23:25:06 +0100 Subject: [PATCH] [SMPI] smpi_process: Move instance_id_ from char* to std::string --- src/smpi/include/smpi_process.hpp | 2 +- src/smpi/internals/smpi_process.cpp | 7 +++---- 2 files changed, 4 insertions(+), 5 deletions(-) diff --git a/src/smpi/include/smpi_process.hpp b/src/smpi/include/smpi_process.hpp index d9ef794662..1f4c60728b 100644 --- a/src/smpi/include/smpi_process.hpp +++ b/src/smpi/include/smpi_process.hpp @@ -30,7 +30,7 @@ class Process { 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; diff --git a/src/smpi/internals/smpi_process.cpp b/src/smpi/internals/smpi_process.cpp index 4478a931ab..a690737065 100644 --- a/src/smpi/internals/smpi_process.cpp +++ b/src/smpi/internals/smpi_process.cpp @@ -68,12 +68,11 @@ Process::Process(ActorPtr actor, msg_bar_t finalization_barrier) 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(process_->getImpl()->userdata)->data = this; -- 2.20.1