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
Activity refactoring
[simgrid.git]
/
src
/
kernel
/
resource
/
VirtualMachineImpl.cpp
diff --git
a/src/kernel/resource/VirtualMachineImpl.cpp
b/src/kernel/resource/VirtualMachineImpl.cpp
index
054ac5c
..
de7fddb
100644
(file)
--- a/
src/kernel/resource/VirtualMachineImpl.cpp
+++ b/
src/kernel/resource/VirtualMachineImpl.cpp
@@
-75,9
+75,12
@@
static void add_active_exec(s4u::Exec const& task)
}
}
}
}
-static void remove_active_exec(s4u::
Exec const
& task)
+static void remove_active_exec(s4u::
Activity
& task)
{
{
- const s4u::VirtualMachine* vm = dynamic_cast<s4u::VirtualMachine*>(task.get_host());
+ auto* exec = dynamic_cast<s4u::Exec*>(&task);
+ if (exec == nullptr)
+ return;
+ const s4u::VirtualMachine* vm = dynamic_cast<s4u::VirtualMachine*>(exec->get_host());
if (vm != nullptr) {
VirtualMachineImpl* vm_impl = vm->get_vm_impl();
vm_impl->remove_active_exec();
if (vm != nullptr) {
VirtualMachineImpl* vm_impl = vm->get_vm_impl();
vm_impl->remove_active_exec();
@@
-115,7
+118,7
@@
VMModel::VMModel(const std::string& name) : HostModel(name)
{
s4u::Host::on_state_change.connect(host_state_change);
s4u::Exec::on_start.connect(add_active_exec);
{
s4u::Host::on_state_change.connect(host_state_change);
s4u::Exec::on_start.connect(add_active_exec);
- s4u::
Exec
::on_completion.connect(remove_active_exec);
+ s4u::
Activity
::on_completion.connect(remove_active_exec);
activity::ActivityImpl::on_resumed.connect(add_active_activity);
activity::ActivityImpl::on_suspended.connect(remove_active_activity);
}
activity::ActivityImpl::on_resumed.connect(add_active_activity);
activity::ActivityImpl::on_suspended.connect(remove_active_activity);
}