if (process->waiting_synchro) {
const char* synchro_description = "unknown";
+ // we don't care about the Activity type to get its name, use RawImpl
+ const char* name =
+ boost::static_pointer_cast<simgrid::kernel::activity::ActivityImpl_T<simgrid::kernel::activity::RawImpl>>(
+ process->waiting_synchro)
+ ->get_cname();
if (boost::dynamic_pointer_cast<simgrid::kernel::activity::ExecImpl>(process->waiting_synchro) != nullptr)
synchro_description = "execution";
XBT_INFO("Process %ld (%s@%s): waiting for %s synchro %p (%s) in state %d to finish", process->get_pid(),
process->get_cname(), process->get_host()->get_cname(), synchro_description,
- process->waiting_synchro.get(), process->waiting_synchro->get_cname(),
- (int)process->waiting_synchro->state_);
+ process->waiting_synchro.get(), name, (int)process->waiting_synchro->state_);
}
else {
XBT_INFO("Process %ld (%s@%s)", process->get_pid(), process->get_cname(), process->get_host()->get_cname());