X-Git-Url: http://info.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/blobdiff_plain/6d7c8b38a6c1ed33b29a5ef2fc3cd120c26e0819..9a357964cfeb78bcb01d5db716c8abaac1b47c43:/src/simix/smx_global.cpp diff --git a/src/simix/smx_global.cpp b/src/simix/smx_global.cpp index e5a9826691..a5f316f2d6 100644 --- a/src/simix/smx_global.cpp +++ b/src/simix/smx_global.cpp @@ -1,4 +1,4 @@ -/* Copyright (c) 2007-2017. The SimGrid Team. All rights reserved. */ +/* Copyright (c) 2007-2018. The SimGrid Team. All rights reserved. */ /* This program is free software; you can redistribute it and/or modify it * under the terms of the license (GNU LGPL) which comes with this package. */ @@ -11,7 +11,6 @@ #include /* Signal handling */ #include -#include #include #include @@ -340,9 +339,9 @@ double SIMIX_get_clock() /** Wake up all processes waiting for a Surf action to finish */ static void SIMIX_wake_processes() { - surf_action_t action; - for (auto const& model : *all_existing_models) { + simgrid::kernel::resource::Action* action; + XBT_DEBUG("Handling the processes whose action failed (if any)"); while ((action = surf_model_extract_failed_action_set(model))) { XBT_DEBUG(" Handling Action %p",action); @@ -441,7 +440,7 @@ void SIMIX_run() * Long proof: processes remain sorted through an arbitrary (implicit, complex but fixed) order in all cases. * * - if there is no kill during the simulation, processes remain sorted according by their PID. - * rational: This can be proved inductively. + * Rationale: This can be proved inductively. * Assume that process_to_run is sorted at a beginning of one round (it is at round 0: the deployment file * is parsed linearly). * Let's show that it is still so at the end of this round. @@ -554,6 +553,7 @@ void SIMIX_run() XBT_CRITICAL("Oops ! Deadlock or code not perfectly clean."); SIMIX_display_process_status(); + simgrid::s4u::onDeadlock(); xbt_abort(); } simgrid::s4u::onSimulationEnd();