X-Git-Url: http://info.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/blobdiff_plain/20bce0939a53dd9bb3c6ea68107e9529372db19b..7ad4d29624370296a9e4683136f8f64147790ead:/src/simix/smx_global.c?ds=sidebyside diff --git a/src/simix/smx_global.c b/src/simix/smx_global.c index b888675998..cd48273528 100644 --- a/src/simix/smx_global.c +++ b/src/simix/smx_global.c @@ -201,7 +201,7 @@ void SIMIX_run(void) #ifdef TIME_BENCH smx_ctx_raw_new_sr(); #endif - do { + while (xbt_dynar_length(simix_global->process_to_run)) { XBT_DEBUG("New Sub-Schedule Round; size(queue)=%lu", xbt_dynar_length(simix_global->process_to_run)); SIMIX_context_runall(simix_global->process_to_run); @@ -209,7 +209,7 @@ void SIMIX_run(void) XBT_DEBUG("Handling request %p", req); SIMIX_request_pre(req, 0); } - } while (xbt_dynar_length(simix_global->process_to_run)); + } time = surf_solve(SIMIX_timer_next()); @@ -240,6 +240,10 @@ void SIMIX_run(void) if (xbt_swag_size(simix_global->process_list) != 0) { +#ifdef HAVE_TRACING + TRACE_end(); +#endif + XBT_WARN("Oops ! Deadlock or code not perfectly clean."); SIMIX_display_process_status(); xbt_abort();