From: Frederic Suter Date: Thu, 3 Aug 2017 09:17:16 +0000 (+0200) Subject: MC doesn't like strings X-Git-Tag: v3_17~276 X-Git-Url: http://info.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/commitdiff_plain/669001c1adb41a9dfc610fc2984709010f1a09e9?hp=e70d206b66713739990f63209ca0e0cdfab064c2 MC doesn't like strings --- diff --git a/src/kernel/activity/MailboxImpl.cpp b/src/kernel/activity/MailboxImpl.cpp index 330345b9b8..936b249718 100644 --- a/src/kernel/activity/MailboxImpl.cpp +++ b/src/kernel/activity/MailboxImpl.cpp @@ -73,14 +73,14 @@ void MailboxImpl::remove(smx_activity_t activity) boost::static_pointer_cast(activity); xbt_assert(comm->mbox == this, "Comm %p is in mailbox %s, not mailbox %s", comm.get(), - (comm->mbox ? comm->mbox->name_.c_str() : "(null)"), this->name_.c_str()); + (comm->mbox ? comm->mbox->name_ : "(null)"), this->name_); comm->mbox = nullptr; for (auto it = this->comm_queue.begin(); it != this->comm_queue.end(); it++) if (*it == comm) { this->comm_queue.erase(it); return; } - xbt_die("Comm %p not found in mailbox %s", comm.get(), this->name_.c_str()); + xbt_die("Comm %p not found in mailbox %s", comm.get(), this->name_); } } } diff --git a/src/kernel/activity/MailboxImpl.hpp b/src/kernel/activity/MailboxImpl.hpp index c3eb5d5589..8c4541d611 100644 --- a/src/kernel/activity/MailboxImpl.hpp +++ b/src/kernel/activity/MailboxImpl.hpp @@ -21,12 +21,12 @@ namespace activity { class MailboxImpl { explicit MailboxImpl(const char* name) - : piface_(this), name_(name), comm_queue(MAX_MAILBOX_SIZE), done_comm_queue(MAX_MAILBOX_SIZE) + : piface_(this), name_(xbt_strdup(name)), comm_queue(MAX_MAILBOX_SIZE), done_comm_queue(MAX_MAILBOX_SIZE) { } public: - ~MailboxImpl() = default; + ~MailboxImpl() { xbt_free(name_); } static MailboxImpl* byNameOrNull(const char* name); static MailboxImpl* byNameOrCreate(const char* name); @@ -34,7 +34,7 @@ public: void push(activity::CommImplPtr comm); void remove(smx_activity_t activity); simgrid::s4u::Mailbox piface_; // Our interface - std::string name_; + char* name_; simgrid::simix::ActorImplPtr permanent_receiver; // process which the mailbox is attached to boost::circular_buffer_space_optimized comm_queue; diff --git a/src/s4u/s4u_mailbox.cpp b/src/s4u/s4u_mailbox.cpp index cb5b0a03c2..245bd5334b 100644 --- a/src/s4u/s4u_mailbox.cpp +++ b/src/s4u/s4u_mailbox.cpp @@ -18,7 +18,7 @@ namespace s4u { const char* Mailbox::getName() { - return pimpl_->name_.c_str(); + return pimpl_->name_; } MailboxPtr Mailbox::byName(const char*name)