#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);
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());
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();