timeoutDetector = nullptr;
}
+ onCompletion(this);
/* If there are simcalls associated with the synchro, then answer them */
if (not simcalls.empty())
SIMIX_execution_finish(this);
* Callbacks *
*************/
simgrid::xbt::signal<void(simgrid::kernel::activity::ExecImplPtr)> simgrid::kernel::activity::ExecImpl::onCreation;
-simgrid::xbt::signal<void(simgrid::kernel::activity::ExecImplPtr)> simgrid::kernel::activity::ExecImpl::onDestruction;
+simgrid::xbt::signal<void(simgrid::kernel::activity::ExecImplPtr)> simgrid::kernel::activity::ExecImpl::onCompletion;
surf_action_t surfAction_ = nullptr; /* The Surf execution action encapsulated */
surf::Action* timeoutDetector = nullptr;
static simgrid::xbt::signal<void(kernel::activity::ExecImplPtr)> onCreation;
- static simgrid::xbt::signal<void(kernel::activity::ExecImplPtr)> onDestruction;
+ static simgrid::xbt::signal<void(kernel::activity::ExecImplPtr)> onCompletion;
};
}
}
}
XBT_DEBUG("Create execute synchro %p: %s", exec.get(), exec->name.c_str());
+ simgrid::kernel::activity::ExecImpl::onCreation(exec);
return exec;
}
}
}
-static void onExecDestruction(simgrid::kernel::activity::ExecImplPtr exec)
+static void onExecCompletion(simgrid::kernel::activity::ExecImplPtr exec)
{
simgrid::s4u::VirtualMachine* vm = dynamic_cast<simgrid::s4u::VirtualMachine*>(exec->host_);
if (vm == nullptr)
simgrid::vm::VirtualMachineImpl::extension_create<simgrid::vm::VmDirtyPageTrackingExt>();
simgrid::vm::VirtualMachineImpl::onVmCreation.connect(&onVirtualMachineCreation);
simgrid::kernel::activity::ExecImpl::onCreation.connect(&onExecCreation);
- simgrid::kernel::activity::ExecImpl::onDestruction.connect(&onExecDestruction);
+ simgrid::kernel::activity::ExecImpl::onCompletion.connect(&onExecCompletion);
}
}