// possibility is that we've finished running everything, and
// we wouldn't be in deadlock then)
if (enC.empty()) {
- XBT_VERB("Maximal configuration detected. Checking for deadlock...");
+ XBT_VERB("**************************");
+ XBT_VERB("*** TRACE INVESTIGATED ***");
+ XBT_VERB("**************************");
+ XBT_VERB("Execution sequence:");
+ for (auto const& s : get_textual_trace())
+ XBT_VERB(" %s", s.c_str());
get_remote_app().check_deadlock();
}
if ((aid_ != wait->sender_) && (aid_ != wait->receiver_) && (wait->rbuff_ != rbuff_))
return false;
+ // If the wait is waiting on a paired comm already, we're independent!
+ // If we happen to make up that pair, then we're dependent...
+ if (wait->comm_ != comm_)
+ return false;
+
return true; // DEP with other wait transitions
}
if ((aid_ != wait->sender_) && (aid_ != wait->receiver_) && (wait->sbuff_ != sbuff_))
return false;
+ // If the wait is waiting on a paired comm already, we're independent!
+ // If we happen to make up that pair, then we're dependent...
+ if (wait->comm_ != comm_)
+ return false;
+
return true; // DEP with other wait transitions
}