A
lgorithmique
N
umérique
D
istribuée
Public GIT Repository
projects
/
simgrid.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Add detached isend to maestro to allow tracking in case of fault
[simgrid.git]
/
src
/
kernel
/
activity
/
MailboxImpl.cpp
diff --git
a/src/kernel/activity/MailboxImpl.cpp
b/src/kernel/activity/MailboxImpl.cpp
index
3cb2e1c
..
c9d8c45
100644
(file)
--- a/
src/kernel/activity/MailboxImpl.cpp
+++ b/
src/kernel/activity/MailboxImpl.cpp
@@
-14,9
+14,7
@@
XBT_LOG_NEW_DEFAULT_SUBCATEGORY(ker_mailbox, kernel, "Mailbox implementation");
/* Rendez-Vous Points */
/******************************************************************************/
/* Rendez-Vous Points */
/******************************************************************************/
-namespace simgrid {
-namespace kernel {
-namespace activity {
+namespace simgrid::kernel::activity {
unsigned MailboxImpl::next_id_ = 0;
unsigned MailboxImpl::next_id_ = 0;
@@
-32,7
+30,7
@@
MailboxImpl::~MailboxImpl()
void MailboxImpl::set_receiver(s4u::ActorPtr actor)
{
if (this->permanent_receiver_) {
void MailboxImpl::set_receiver(s4u::ActorPtr actor)
{
if (this->permanent_receiver_) {
- std::vector<MailboxImpl*>& mboxes = this->permanent_receiver_->mailboxes;
+ std::vector<MailboxImpl*>& mboxes = this->permanent_receiver_->mailboxes
_
;
mboxes.erase(std::remove(mboxes.begin(), mboxes.end(), this), mboxes.end());
}
mboxes.erase(std::remove(mboxes.begin(), mboxes.end(), this), mboxes.end());
}
@@
-80,7
+78,7
@@
void MailboxImpl::clear()
// CommImpl::cancel() will remove the comm from the mailbox..
while (not comm_queue_.empty()) {
auto comm = comm_queue_.back();
// CommImpl::cancel() will remove the comm from the mailbox..
while (not comm_queue_.empty()) {
auto comm = comm_queue_.back();
- if (comm->get_state() == State::WAITING && not comm->detached()) {
+ if (comm->get_state() == State::WAITING && not comm->
is_
detached()) {
comm->cancel();
comm->set_state(State::DST_HOST_FAILURE);
} else
comm->cancel();
comm->set_state(State::DST_HOST_FAILURE);
} else
@@
-88,7
+86,7
@@
void MailboxImpl::clear()
}
}
}
}
-CommImplPtr MailboxImpl::iprobe(int type,
bool (*match_fun)(void*, void*, CommImpl*)
, void* data)
+CommImplPtr MailboxImpl::iprobe(int type,
const std::function<bool(void*, void*, CommImpl*)>& match_fun
, void* data)
{
XBT_DEBUG("iprobe from %p %p", this, &comm_queue_);
{
XBT_DEBUG("iprobe from %p %p", this, &comm_queue_);
@@
-123,7
+121,8
@@
CommImplPtr MailboxImpl::iprobe(int type, bool (*match_fun)(void*, void*, CommIm
* @param remove_matching whether or not to clean the found object from the queue
* @return The communication activity if found, nullptr otherwise
*/
* @param remove_matching whether or not to clean the found object from the queue
* @return The communication activity if found, nullptr otherwise
*/
-CommImplPtr MailboxImpl::find_matching_comm(CommImplType type, bool (*match_fun)(void*, void*, CommImpl*),
+CommImplPtr MailboxImpl::find_matching_comm(CommImplType type,
+ const std::function<bool(void*, void*, CommImpl*)>& match_fun,
void* this_user_data, const CommImplPtr& my_synchro, bool done,
bool remove_matching)
{
void* this_user_data, const CommImplPtr& my_synchro, bool done,
bool remove_matching)
{
@@
-142,15
+141,10
@@
CommImplPtr MailboxImpl::find_matching_comm(CommImplType type, bool (*match_fun)
const CommImplPtr& comm = *iter;
XBT_DEBUG("Found a matching communication synchro %p", comm.get());
const CommImplPtr& comm = *iter;
XBT_DEBUG("Found a matching communication synchro %p", comm.get());
-#if SIMGRID_HAVE_MC
- comm->mbox_cpy = comm->get_mailbox();
-#endif
comm->set_mailbox(nullptr);
CommImplPtr comm_cpy = comm;
if (remove_matching)
comm_queue.erase(iter);
return comm_cpy;
}
comm->set_mailbox(nullptr);
CommImplPtr comm_cpy = comm;
if (remove_matching)
comm_queue.erase(iter);
return comm_cpy;
}
-} // namespace activity
-} // namespace kernel
-} // namespace simgrid
+} // namespace simgrid::kernel::activity