X-Git-Url: http://bilbo.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/blobdiff_plain/718bee0ecd82d03ef877e66f9ecb77c9e69a599b..793184f903550583a9d23a67374df45e9b67612d:/src/kernel/activity/MailboxImpl.cpp diff --git a/src/kernel/activity/MailboxImpl.cpp b/src/kernel/activity/MailboxImpl.cpp index cb49f3b2b8..aaeeb83dc4 100644 --- a/src/kernel/activity/MailboxImpl.cpp +++ b/src/kernel/activity/MailboxImpl.cpp @@ -46,7 +46,7 @@ void MailboxImpl::set_receiver(s4u::ActorPtr actor) /** @brief Pushes a communication activity into a mailbox * @param comm What to add */ -void MailboxImpl::push(CommImplPtr comm) +void MailboxImpl::push(const CommImplPtr& comm) { comm->set_mailbox(this); this->comm_queue_.push_back(std::move(comm)); @@ -61,12 +61,11 @@ void MailboxImpl::remove(const CommImplPtr& comm) (comm->get_mailbox() ? comm->get_mailbox()->get_cname() : "(null)"), this->get_cname()); comm->set_mailbox(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->get_cname()); + auto it = std::find(this->comm_queue_.begin(), this->comm_queue_.end(), comm); + if (it != this->comm_queue_.end()) + this->comm_queue_.erase(it); + else + xbt_die("Comm %p not found in mailbox %s", comm.get(), this->get_cname()); } /** @brief Removes all communication activities from a mailbox @@ -74,7 +73,7 @@ void MailboxImpl::remove(const CommImplPtr& comm) void MailboxImpl::clear(bool do_finish) { // CommImpl::cancel() will remove the comm from the mailbox.. - for (auto comm : done_comm_queue_) { + for (const auto& comm : done_comm_queue_) { comm->cancel(); comm->set_state(State::FAILED); if (do_finish)