From 669001c1adb41a9dfc610fc2984709010f1a09e9 Mon Sep 17 00:00:00 2001 From: Frederic Suter Date: Thu, 3 Aug 2017 11:17:16 +0200 Subject: [PATCH] MC doesn't like strings --- src/kernel/activity/MailboxImpl.cpp | 4 ++-- src/kernel/activity/MailboxImpl.hpp | 6 +++--- src/s4u/s4u_mailbox.cpp | 2 +- 3 files changed, 6 insertions(+), 6 deletions(-) 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) -- 2.20.1