X-Git-Url: http://info.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/blobdiff_plain/0b892a9de2e4218184dc0b0726773f386bb38b65..e6bd520dd999137c9f9bf3968e4764d82c948314:/src/simix/smx_context_sysv.c diff --git a/src/simix/smx_context_sysv.c b/src/simix/smx_context_sysv.c index f65212cc2e..9acbbd1df6 100644 --- a/src/simix/smx_context_sysv.c +++ b/src/simix/smx_context_sysv.c @@ -10,7 +10,7 @@ #include "xbt/parmap.h" #include "smx_private.h" -#include "gras_config.h" +#include "internal_config.h" #include "context_sysv_config.h" /* loads context system definitions */ #include "mc/mc.h" @@ -168,8 +168,8 @@ smx_ctx_sysv_create_context_sized(size_t size, xbt_main_func_t code, sysv_maestro_context = context; } - if(MC_IS_ENABLED && code) - MC_new_stack_area(context, ((smx_process_t)((smx_context_t)context)->data)->name, &(context->uc)); + if(MC_is_active() && code) + MC_new_stack_area(context, ((smx_process_t)((smx_context_t)context)->data)->name, &(context->uc), size); return (smx_context_t) context; } @@ -232,6 +232,11 @@ static void smx_ctx_sysv_suspend_serial(smx_context_t context) smx_context_t next_context; unsigned long int i = sysv_process_index++; + if(MC_is_active()){ + MC_ignore_stack("next_context", "smx_ctx_sysv_suspend_serial"); + MC_ignore_stack("i", "smx_ctx_sysv_suspend_serial"); + } + if (i < xbt_dynar_length(simix_global->process_to_run)) { /* execute the next process */ XBT_DEBUG("Run next process"); @@ -258,14 +263,12 @@ static void smx_ctx_sysv_resume_serial(smx_process_t first_process) static void smx_ctx_sysv_runall_serial(void) { - if (!xbt_dynar_is_empty(simix_global->process_to_run)) { - smx_process_t first_process = - xbt_dynar_get_as(simix_global->process_to_run, 0, smx_process_t); - sysv_process_index = 1; + smx_process_t first_process = + xbt_dynar_get_as(simix_global->process_to_run, 0, smx_process_t); + sysv_process_index = 1; - /* execute the first process */ - smx_ctx_sysv_resume_serial(first_process); - } + /* execute the first process */ + smx_ctx_sysv_resume_serial(first_process); } static void smx_ctx_sysv_stop_parallel(smx_context_t context)