- simgrid::s4u::Exec::on_completion.connect([](simgrid::s4u::Exec const& activity) {
- if (activity.get_host_number() == 1) { // We only run on one host
- simgrid::s4u::Host* host = activity.get_host();
- const simgrid::s4u::VirtualMachine* vm = dynamic_cast<simgrid::s4u::VirtualMachine*>(host);
- if (vm != nullptr)
+ simgrid::s4u::Activity::on_completion_cb([](simgrid::s4u::Activity const& activity) {
+ const auto* exec = dynamic_cast<simgrid::s4u::Exec const*>(&activity);
+ if (exec == nullptr) // Only Execs are concerned here
+ return;
+ if (exec->get_host_number() == 1) { // We only run on one host
+ simgrid::s4u::Host* host = exec->get_host();
+ if (const auto* vm = dynamic_cast<simgrid::s4u::VirtualMachine*>(host))