X-Git-Url: http://info.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/blobdiff_plain/49514a74128a35ed4c0ba6dc190d70d35dd9fd7a..9532edf044eed31bcf6de22916c8824e18f373ad:/src/simix/smx_global.c diff --git a/src/simix/smx_global.c b/src/simix/smx_global.c index 6d52482a29..cb99d35900 100644 --- a/src/simix/smx_global.c +++ b/src/simix/smx_global.c @@ -281,7 +281,7 @@ void SIMIX_clean(void) */ XBT_INLINE double SIMIX_get_clock(void) { - if(MC_is_active()){ + if(MC_is_active() || MC_record_replay_is_active()){ return MC_process_clock_get(SIMIX_process_self()); }else{ return surf_get_clock(); @@ -308,6 +308,7 @@ static int process_syscall_color(void *p) void SIMIX_run(void) { if(MC_record_path) { + MC_record_replay_init(); MC_record_replay_from_string(MC_record_path); return; } @@ -340,7 +341,7 @@ void SIMIX_run(void) xbt_os_cputimer_resume(simix_global->timer_seq); #endif - /* Move all killing processes to the end of the list, because killing a process that have an ongoing simcall is a bad idea */ + /* Move all killer processes to the end of the list, because killing a process that have an ongoing simcall is a bad idea */ xbt_dynar_three_way_partition(simix_global->process_that_ran, process_syscall_color); /* answer sequentially and in a fixed arbitrary order all the simcalls that were issued during that sub-round */ @@ -455,9 +456,7 @@ void SIMIX_run(void) if (xbt_swag_size(simix_global->process_list) != 0) { -#ifdef HAVE_TRACING - TRACE_end(); -#endif + TRACE_end(); XBT_CRITICAL("Oops ! Deadlock or code not perfectly clean."); SIMIX_display_process_status();