X-Git-Url: http://bilbo.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/blobdiff_plain/58801abf7076bc6bd09c971104f6dbd3ff236fc6..79b3fb5610812a6434ca06222ce71b65e31555ee:/src/surf/network_interface.cpp diff --git a/src/surf/network_interface.cpp b/src/surf/network_interface.cpp index e7d5ad9a54..54f82296d3 100644 --- a/src/surf/network_interface.cpp +++ b/src/surf/network_interface.cpp @@ -138,6 +138,17 @@ void LinkImpl::turn_off() if (is_on()) { Resource::turn_off(); s4u::Link::on_state_change(this->piface_); + + kernel::lmm::Variable* var = nullptr; + const kernel::lmm::Element* elem = nullptr; + double now = surf_get_clock(); + while ((var = get_constraint()->get_variable(&elem))) { + Action* action = static_cast(var->get_id()); + if (action->get_state() == Action::State::INITED || action->get_state() == Action::State::STARTED) { + action->set_finish_time(now); + action->set_state(Action::State::FAILED); + } + } } }